博客
关于我
nacos配置在代码中如何引用
阅读量:791 次
发布时间:2023-02-14

本文共 1773 字,大约阅读时间需要 5 分钟。

Nacos配置实践指南

1. 安装Nacos配置依赖

在代码的模块服务中安装Nacos配置依赖。可以通过以下Maven依赖添加到项目中:

com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-config

2. 配置Nacos服务

在Nacos配置中心中进行服务配置,注意区分服务名称和模块名。服务名称即在bootstrap.yaml中配置的服务名称。

3. 配置Bootstrap文件

在模块的bootstrap.yml文件中添加以下配置:

spring.cloud.nacos.config:    server-addr: 127.0.0.1:8848    file-extension: yaml    group: DEFAULT_GROUP    ext-config[0]:        data-id: ext-config-common01.yaml        group: COMMON_GROUP        refresh: true    ext-config[1]:        data-id: ext-config-common02.yaml        group: COMMON_GROUP        refresh: true

4. 使用动态配置

使用@Value注解获取配置信息。例如:

@Value("${common.name}")private String common_name;@GetMapping(value = "/configs")public String getValue() {    return applicationContext.getEnvironment().getProperty("common.name");}

5. 扩展配置

1. 配置拓展文件

在Nacos中添加两个拓展配置文件:

  • 配置文件1:添加必要的配置项,确保配置文件内容与主配置文件不冲突。
  • 配置文件2:同样添加拓展配置,注意配置内容的差异。

2. Bootstrap配置扩展

bootstrap.yml中添加以下配置:

config:    server-addr: 127.0.0.1:8848    file-extension: yaml    group: DEFAULT_GROUP    ext-config[0]:        data-id: ext-config-common01.yaml        group: COMMON_GROUP        refresh: true    ext-config[1]:        data-id: ext-config-common02.yaml        group: COMMON_GROUP        refresh: true

3. 代码引用

在需要获取动态配置的类中注入ConfigurableApplicationContext,并使用以下方法获取配置:

@Autowiredprivate 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. 配置优先级

  • 主配置文件的内容优先于拓展配置文件。
  • 拓展配置文件中,下标大的文件优先于上标文件。

通过以上步骤,可以有效地配置和使用Nacos,实现动态配置管理和扩展配置。

转载地址:http://ewcfk.baihongyu.com/

你可能感兴趣的文章
MySQL的Geometry数据处理之WKT方案
查看>>
mysql的grant用法
查看>>
Mysql的InnoDB引擎的表锁与行锁
查看>>
mysql的InnoDB引擎索引为什么使用B+Tree
查看>>
MySQL的InnoDB默认隔离级别为 Repeatable read(可重复读)为啥能解决幻读问题?
查看>>
MySQL的insert-on-duplicate语句详解
查看>>
mysql的logrotate脚本
查看>>
MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)
查看>>
MySQL的on duplicate key update 的使用
查看>>
MySQL的Replace用法详解
查看>>
mysql的root用户无法建库的问题
查看>>
mysql的sql_mode参数
查看>>
MySQL的sql_mode模式说明及设置
查看>>
mysql的sql执行计划详解
查看>>
mysql的sql语句基本练习
查看>>
Mysql的timestamp(时间戳)详解以及2038问题的解决方案
查看>>
mysql的util类怎么写_自己写的mysql类
查看>>
MySQL的xml中对大于,小于,等于的处理转换
查看>>
mysql的下载安装
查看>>
Mysql的两种存储引擎详细分析及区别(全)
查看>>