springcloud-alibaba接入nacos配置中心

未采用动态配置前,如果集群的话,某个服务集群中的每台服务器配置都不一样,需要单个打包部署,工作量大,不易维护。

1,引入依赖,和注册中心一样,因为子模块都有使用,放到公用模块commmon

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

2, nacos配置,命名空间作为服务区分,新建product,member等命名空间。分组作为开发环境区分,如dev,prod分组

3,子模块配置:
/src/main/resources/bootstrap.properties
springboot会先与application.properties加载bootstrap.properties

配置项:

spring.application.name=product
spring.cloud.nacos.config.namespace= // 取自nacos
spring.cloud.nacos.config.server-addr=192.168.56.1:8848
spring.cloud.nacos.config.group=dev

默认Data-Id :product.properties

添加新的配置文件:

spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml
spring.cloud.nacos.config.extension-configs[0].group=dev
spring.cloud.nacos.config.extension-configs[0].refresh=true

4,@RefreshScope 在需要热加载的类上添加

    @Value("${coupon.user.name}")
    private String name;
    @Value("${coupon.user.age}")
    private Integer age;

    @RequestMapping("/test")
    public R test()
    {
        return R.ok().put("name",name).put("age",age);
    }

这样就可以实时获取配置中心的配置数据。

posted @ 2023-03-04 13:37  李很好  阅读(30)  评论(0)    收藏  举报