用Java代码从Nacos配置中心读取Spring boot程序的 yaml 格式配置文件内容
在Spring Boot项目中,要从Nacos配置中心读取YAML格式的配置文件,你需要做以下几步:
- 添加Nacos客户端依赖到你的
pom.xml
文件中。 - 在
application.properties
或application.yml
中配置Nacos服务器地址和应用名。 - 使用
@Value
注解或@ConfigurationProperties
注解来读取配置。
以下是具体的代码示例:
首先,在pom.xml
中添加Nacos客户端依赖:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>最新版本</version>
</dependency>
然后,在application.yml
中配置Nacos服务器信息:
spring:
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848 # Nacos 服务器地址
namespace: 命名空间ID # 如果使用的是Nacos的命名空间
group: DEFAULT_GROUP # 配置分组,默认是DEFAULT_GROUP
file-extension: yaml # 指定配置内容的格式,这里是yaml
接下来,在Spring Boot应用中使用@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("${your.config.key}")
private String configValue;
@GetMapping("/config")
public String getConfig() {
return configValue;
}
}
或者使用@ConfigurationProperties
:
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "your")
public class YourConfigProperties {
private String configKey;
// getter and setter methods
}
然后在你的业务逻辑中注入YourConfigProperties
:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.beans.factory.annotation.Autowired;
@RestController
public class YourController {
private final YourConfigProperties configProperties;
@Autowired
public YourController(YourConfigProperties configProperties) {
this.configProperties = configProperties;
}
@GetMapping("/config")
public String getConfig() {
return configProperties.getConfigKey();
}
}
确保你的Spring Boot应用能从Nacos配置中心加载配置,并且配置的dataId和Group符合你的配置内容。当配置中心的内容更新时,Spring Boot应用会自动更新配置。
评论已关闭