SpringCloud-SpringBoot读取Nacos上的配置文件
在Spring Cloud中,要使用Nacos作为配置中心,你需要做以下几步:
- 引入Nacos的依赖到你的Spring Boot项目中。
- 在
application.properties
或application.yml
中配置Nacos服务器地址和应用名。 - 使用
@Value
注解或@ConfigurationProperties
注解来读取配置。
以下是一个简单的示例:
- 在
pom.xml
中添加Nacos配置中心的依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 在
application.yml
中配置Nacos信息:
spring:
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848 # Nacos 服务器地址
namespace: 4f1e919f-8ee8-4d02-ad8e-793791232d8d # Nacos 命名空间,非必须
group: DEFAULT_GROUP # 分组,默认为DEFAULT_GROUP
prefix: ${spring.application.name} # 配置前缀,默认为应用名
file-extension: yaml # 配置文件后缀名,默认为properties
- 在你的代码中使用
@Value
或@ConfigurationProperties
读取配置:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ConfigController {
@Value("${my.config}")
private String myConfig;
@GetMapping("/config")
public String getConfig() {
return myConfig;
}
}
或者使用@ConfigurationProperties
:
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@ConfigurationProperties(prefix = "my")
public class ConfigPropertiesController {
private String config;
@GetMapping("/config")
public String getConfig() {
return config;
}
// standard getters and setters
}
确保你的应用名通过spring.application.name
在application.yml
中设置,并且在Nacos上的配置文件名需要遵循${spring.cloud.nacos.config.prefix}.${spring.cloud.nacos.config.file-extension}
的格式。
当你启动应用时,Spring Boot会自动从Nacos配置中心加载配置。如果配置发生变化,Spring Cloud也会自动更新配置。
评论已关闭