nacos配置在代码中引用的方法讲解
短信预约 -IT技能 免费直播动态提醒
1、在代码的模块服务中安装nacos 配置依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2、在nacos配置中心中进行服务配置 注意不是模块名,是服务名称,即在bootstrap.yaml中配置的服务名称
3、在模块的bootstrap.yml文件中添加配置信息
# 注意前边是
spring
cloud
nacos
config:
server-addr: 127.0.0.1:8848 # 即服务发现的地址
# 如果不是public则需要再加一行指定具体的命名空间。
4、使用@Value(${})使用配置
@Value("${common.name}")
private String common_name;
@GetMapping(value = "/configs")
public String getValue(){
return common_name;
}
获取动态的配置信息
代码如下:
@Value("${common.name}") // 这种方法不能获取动态的配置信息
private String common_name;
@Autowired
private ConfigurableApplicationContext applicationContext; // 这种方式可以获取动态的配置信息
@GetMapping(value = "/configs")
public String getValue(){
// return common_name;
return applicationContext.getEnvironment().getProperty("common.name");
}
扩展配置
1、首先在nacos中配置两个拓展的配置文件 配置文件1
配置文件2
注意这两个文件的配置内容的变化 2、在bootstrap.yaml文件中添加如下配置
config:
server-addr: 127.0.0.1:8848
file-extension: yaml # 原配置 或者说是主配置
group: DEFAULT_GROUP
ext-config[0]: # 拓展配置1
data-id: ext-config-common01.yaml
group: COMMON_GROUP
refresh: true # 动态刷新
ext-config[1]: # 拓展配置2
data-id: ext-config-common02.yaml
group: COMMON_GROUP
refresh: true
3、代码引用:
@Autowired
private ConfigurableApplicationContext applicationContext;
@GetMapping(value = "/config")
public String getValue(){
String name = applicationContext.getEnvironment().getProperty("common.name");
String addr = applicationContext.getEnvironment().getProperty("common.addr");
return name+addr;
}
4、最终的输出结果:
5、对结果的总结:
5.1、如果主配置中配置的内容和拓展配置的内容重复则按主配置的配置
5.2、如果拓展配置中的内容和另一个拓展配置中的内容重复,则按下标大的配置作为最终的配置
到此这篇关于nacos配置在代码中如何引用的文章就介绍到这了,更多相关nacos配置代码引用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341