第十一章:SpringCloud组件-Nacos配置中心

1:获取配置文件中的常量@Value

定义两个常量:resources\application.properties

product.name=xiaomi
product.price=998

编写测试函数:com.applesnt.onlinemall.product.controller.BrandController

@RestController
@RequestMapping("product/brand")
public class BrandController {
    @Autowired
    private BrandService brandService;

    @Value("${product.name}")
    private String bname;
    @Value("${product.price}")
    private String bprice;

    /*获取配置文件中的常量*/
    @RequestMapping("/getBrand")
    public R getPropertiesValue(){
        return R.ok().put("name",bname).put("price",bprice);
    }

访问:http://localhost:10000/product/brand/getBrand

2:nocos配置中心(基本配置+命名空间)

1、在onlinemall-common公共项目中加入nacos配置中心的依赖

<!--nacos配置中心-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    <version>2.1.0.RELEASE</version>
</dependency>

2、在nacos中创建一个命名空间

命名空间的作用是为了隔离加载每个应用使用的配置,一般一个微服务一个命名空间

3、在product命名空间下创建配置文件

项目一旦开启nacos配置中的功能,默认会加载一个应用名称.properties的文件

4、在onlinemall-product项目的resource目录下创建配置中心的配置文件

bootstrap.properties

#配置中心地址
spring.cloud.nacos.config.server-addr=116.196.121.63:8848
#配置命名空间 要写命名空间的id
spring.cloud.nacos.config.namespace=d125753c-a9f9-4b21-b705-1da6b12d1915

5、在项目的测试类中开启动态获取功能

在BrandController类中增加注解:@RefreshScope

/*动态获取配置中心的数据*/
@RefreshScope
@RestController
@RequestMapping("product/brand")
public class BrandController {
    @Autowired
    private BrandService brandService;

    @Value("${product.name}")
    private String bname;
    @Value("${product.price}")
    private String bprice;

    /*获取配置文件中的常量*/
    @RequestMapping("/getBrand")
    public R getPropertiesValue(){
        return R.ok().put("name",bname).put("price",bprice);
    }

6、启动项目访问测试

3:nocos配置中心(命名空间+组来区分环境)

1、创建不同组的配置文件

在product命名空间下创建两个不同分组(test和dev)的onlinemall-product.properties文件

2、修改项目配置文件,指定使用哪个组

#配置中心地址
spring.cloud.nacos.config.server-addr=116.196.121.63:8848
#配置命名空间 要写命名空间的id
spring.cloud.nacos.config.namespace=d125753c-a9f9-4b21-b705-1da6b12d1915
#指定使用dev组的配置
spring.cloud.nacos.config.group=dev

3、访问测试

4:nocos配置中心(拆分多配置文件)

1、拆分配置文件

把项目中的application.yml拆分成三个配置中心的配置(datasource.yml mybatis.yml other.yml)

2、修改项目配置文件,使用哪些配置文件

#必须配置应用名称,否则不读取默认的配置文件
spring.application.name=onlinemall-product
#配置中心地址
spring.cloud.nacos.config.server-addr=116.196.121.63:8848
#配置命名空间 要写命名空间的id
spring.cloud.nacos.config.namespace=d125753c-a9f9-4b21-b705-1da6b12d1915

#加载datasource.yml配置文件
spring.cloud.nacos.config.ext-config[0].data-id=datasource.yml
spring.cloud.nacos.config.ext-config[0].group=dev
spring.cloud.nacos.config.ext-config[0].refresh=true

#加载mybatis.yml配置文件
spring.cloud.nacos.config.ext-config[1].data-id=mybatis.yml
spring.cloud.nacos.config.ext-config[1].group=dev
spring.cloud.nacos.config.ext-config[1].refresh=true

#加载other.yml配置文件
spring.cloud.nacos.config.ext-config[2].data-id=other.yml
spring.cloud.nacos.config.ext-config[2].group=dev
spring.cloud.nacos.config.ext-config[2].refresh=true

3、清空配置

把项目中的application.yml配置文件清空

4、访问测试

posted @ 2021-05-30 12:00  努力的校长  阅读(235)  评论(0编辑  收藏  举报