nacos 系列(config) - spring cloud 集成
需要依赖
nacos服务端, 如果还没有搭建nacos服务端的, 请先将服务端跑起来
cloud版的config客户端和boot版不太一样, 不需要新增和修改注解, 代码侵入年更小, 只要加上jar包和配置就好了cloud 版的配置和boot不一样, 多几个层级
1. 修改pom.xml
pom文件加入nacos的cloud版config组件
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>0.1.1.RELEASE</version>
</dependency>
2. 启动类注解(不需要)
cloud版启动类不需要修改任何东西
3. 配置文件修改
注意: 需要在
bootstrap.properties修改, 而不是application.properties
配置文件加上nacos服务端的地址(只要加上server-addr就能跑了)
spring.cloud.nacos.config.server-addr=nacos服务端地址:8848
spring.application.name=应用名称
# 指定配置的后缀,支持 properties、yaml、yml,默认为 properties
spring.cloud.nacos.config.file-extension=properties
下面是一些nacos配置(进阶用)
4. 配置参数注入
- 直接用spring的
@Value即可 - 不能使用
@NacosValue(我尝试用过, 取不到值)
通过 Spring Cloud 原生注解
@RefreshScope实现配置自动更新
- 类不能是
final的
5. 命名空间
nacos设计上是有命名空间这个概念的
- 个人理解
命名空间是分开发, 测试, 生产的环境区分 -
组Group是集群或这地域区分但是我试了各种情况, 发现都取不到dev中的配置…
以下一种是用命名空间名称, 一种是用命名空间的id, 都不行…spring.cloud.nacos.config.namespace=devspring.cloud.nacos.config.namespace=3ad2b8b5-e443-4053-8c02-2c322280dfa8
有知道的同学请留言下