Spring Cloud版本是Greenwich.RELEASE
Springboot版本是2.1.9.RELEASE
Spring Cloud Alibaba版本是2.1.0.RELEASE
nacos除了能作为注册中心以外,还可以作为配置中心。
01 在nacos编写配置
1)打开nacos网址,进入配置列表页面,点击“+”号,新增应用配置
2)输入Data ID(注意这个必须要与应用的spring.application.name保持一致),Group我们就直接使用默认值,Format选择Properties,Configuration Content跟我们写应用的配置文件一样即可,最后点击Publish即可。
02 创建应用
1)创建一个springboot应用,在pom.xml文件中导入依赖
<properties><project.build.sourceEncoding>UTF-8project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding><java.version>1.8java.version>
properties><dependencies><dependency><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-webartifactId>dependency><dependency><groupId>com.alibaba.cloudgroupId><artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>dependency><dependency><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-testartifactId><scope>testscope>dependency>
dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloudgroupId><artifactId>spring-cloud-dependenciesartifactId><version>Greenwich.RELEASEversion><type>pomtype><scope>importscope>dependency><dependency><groupId>com.alibaba.cloudgroupId><artifactId>spring-cloud-alibaba-dependenciesartifactId><version>2.1.0.RELEASEversion><type>pomtype><scope>importscope>dependency>dependencies>
dependencyManagement>
2&#xff09;将application.properties文件名字修改为bootstrap.properties
3&#xff09;在bootstrap.properties中添加一些配置
spring.application.name&#61;nacos-config
server.port&#61;8100
spring.cloud.nacos.config.server-addr&#61;127.0.0.1:8848
4&#xff09;使用nacos的配置
&#64;RefreshScope
注解的作用是当我们在nacos中修改配置信息时&#xff0c;可以动态的修改该类中&#64;Value的配置信息。
&#64;RefreshScope
&#64;RestController
public class ConfigController {&#64;Value("${my.name:}")private String name;&#64;GetMapping("/name")public String getName() {return "name: " &#43; name;}
}
03 测试
注意&#xff1a;这里我的端口为9999&#xff0c;是因为我又修改了nacos的配置&#xff0c;这样可以测试对bootstrap.properties的效果。
然后我们修改nacos的配置&#xff0c;看看动态修改的效果
这个时候&#xff0c;我们在控制台可以看到有刷新配置的日志
经过测试发现&#xff0c;在controller中的name属性的值已经修改。
但是&#xff0c;要注意了&#xff0c;端口号是没有修改的
&#xff0c;说明boostrap.properties中的配置不支持动态修改。
源码地址&#xff1a;码云
下篇文章&#xff1a;Spring Cloud Alibaba实战(4) - 整合dubbo