nacos作为配置中心进行配置管理使用实例
- 为什么要使用配置中心 当修改配置时,每次都要重新打包部署,不仅繁琐还影响服务的使用.
- 导入依赖包 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
- 在resources/bootstrap.properties配置文件中配置nacos config元数据 # bootstrap.properties文件配置优先级比application.yml和application.properties高 spring.application.name=gulimall-coupon # 配置中心和注册中心都使用nacos,所以地址一样 spring.cloud.nacos.config.server-addr=localhost:8848
- 在nacos中新建配置并发布(Data ID默认是微服务名.properties)
- 测试代码(使用@RefreshScope实现动态刷新nacos配置中心的配置) // 动态刷新nacos配置中心的配置 @RefreshScope @RestController @RequestMapping("coupon/coupon") public class CouponController { @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); }
- 启动coupon微服务测试 在nacos中修改配置并发布,测试结果如下: 可见微服务不需重新打包部署,配置已经修改了. 如果配置中心和当前应用的配置文件中都配置了相同的项,则优先使用配置中心的配置.
