版本说明
spring-cloud version :2021.0.5.0
spring-boot.version:2.6.13
1. 引入依赖
<!--Nacos config-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- 解决禁用bootstrap配置问题 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.1.0</version>
</dependency>
2. 启用配置中心
在项目的启动类上添加**@EnableDiscoveryClient**注解。
@SpringBootApplication
@EnableDiscoveryClient
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
3. 添加配置到bootstrap.yml
spring:
application:
name: test # 应用名称
cloud:
nacos:
config:
server-addr: 192.168.10.75:8848
namespace: tool # Nacos命名空间,用于服务发现的隔离 默认public,可不配置
file-extension: yml # 配置文件类型, 默认properties,如果是yaml格式,需要配置
enabled: true # 是否启用 默认为true
refresh-enabled: true # 是否启用配置刷新 默认为true 可不配置
name: application # Nacos中加载的配置文件名称,不配置时匹配应用名
4. Nacos中新增配置文件
注意:需要和上面的配置保持一致,不一致就导致配置失效。
5. 启用配置动态刷新
默认是重新项目时,Nacos中发布的配置才能生效。可以通过在需要实时更新配置的类上添加**@RefreshScope**注解,来使配置修改实时生效。
6. 可能遇到的问题
6.1 No spring.config.import set
问题原因:新版本SpringCloud默认将bootstrap支持移除了,需要手动添加bootstrap依赖,上面依赖已经引入了。需要注意一下版本,亲测4.0.3版本不可以,3.1.0可以。
<!-- 解决禁用bootstrap配置问题 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.1.0</version>
</dependency>