Spring Cloud Alibaba 通过 Nacos Config 组件实现了从 Nacos 配置中心加载配置的功能,以下是具体的操作步骤和配置方法:
1. 引入依赖
在项目的 pom.xml 文件中加入 Spring Cloud Alibaba Nacos Config 的依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>最新版本</version> <!-- 替换为当前适用的最新版本 -->
</dependency>
2. 配置基本信息
在项目的 bootstrap.properties
或 bootstrap.yml
文件中配置 Nacos 服务器地址及应用基本信息:
spring.cloud.nacos.config.server-addr=你的Nacos服务器地址:端口
spring.application.name=你的应用名
spring.cloud.nacos.config.namespace=可选的命名空间ID
spring.cloud.nacos.config.group=DEFAULT_GROUP # 默认分组
3. 配置文件映射
默认情况下,Spring Cloud 会尝试从 Nacos 加载 application.properties
或 application.yml
文件。如果你想加载其他名字的配置文件,可以添加如下配置:
spring.cloud.nacos.config.file-extension=yml # 或 properties
spring.cloud.nacos.config.shared-dataids=nacos-config.yml # 配置文件名
spring.cloud.nacos.config.refreshable-dataids=${spring.cloud.nacos.config.shared-dataids} # 指定可刷新的配置文件
4. 动态刷新配置
为了让应用能够实时获取并应用 Nacos 中配置的变化,可以在需要动态刷新的 Bean 上添加 @RefreshScope
注解:
@RefreshScope
@Configuration
public class AppConfig {
@Value("${example.property}")
private String exampleProperty;
// ...
}
5. 启动应用
启动你的 Spring Boot 应用,它将从 Nacos 配置中心加载配置。
6. 手动触发配置刷新
在应用中,你可以通过调用 /refresh
端点来手动刷新配置(需要开启 Spring Actuator):
curl -X POST "http://localhost:8080/actuator/refresh"
注意事项
- 确保 Nacos Server 正常运行并且网络可达。
- 使用
bootstrap.properties
或bootstrap.yml
而非application.properties
或application.yml
来配置 Spring Cloud,这是因为bootstrap
文件的加载优先级高于application
文件,且在应用上下文初始化之前加载,适合配置服务发现、配置中心等基础设施。 - 为提高安全性,生产环境中应合理配置 Nacos 的认证信息。
通过上述步骤,你的 Spring Cloud 应用就能成功地从 Nacos 配置中心加载配置,并且在配置变更时能够及时刷新配置信息。