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-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2)将application.properties文件名字修改为bootstrap.properties

3)在bootstrap.properties中添加一些配置
# spring.application.name和nacos中配置的Data ID要保持一致
spring.application.name=nacos-config
server.port=8100
# nacos注册中心的地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
4)使用nacos的配置
@RefreshScope注解的作用是当我们在nacos中修改配置信息时,可以动态的修改该类中@Value的配置信息。
@RefreshScope
@RestController
public class ConfigController {
@Value("${my.name:}")
private String name;
@GetMapping("/name")
public String getName() {
return "name: " + name;
}
}
03 测试

注意:这里我的端口为9999,是因为我又修改了nacos的配置,这样可以测试对bootstrap.properties的效果。

然后我们修改nacos的配置,看看动态修改的效果

这个时候,我们在控制台可以看到有刷新配置的日志

经过测试发现,在controller中的name属性的值已经修改。
但是,要注意了,端口号是没有修改的,说明boostrap.properties中的配置不支持动态修改。

源码地址:码云
下篇文章:Spring Cloud Alibaba实战(4) - 整合dubbo
本文详细介绍了如何使用Nacos作为Spring Cloud应用的配置中心,包括在Nacos中编写配置、创建Spring Boot应用并导入依赖、修改配置文件以及动态刷新配置的具体步骤。

被折叠的 条评论
为什么被折叠?



