Nacos配置中心命名空间与组的使用
拆分配置文件
我们可以将我们的配置文件进行拆分放到nacos配置中心中
现在的配置文件大致如下:
spring:
datasource:
username: root
password: root
url: jdbc:mysql://xxx.xx.xxx.x:3306/gulimall_sms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
driver-class-name: com.mysql.cj.jdbc.Driver
application:
name: gulimall-coupon
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
config:
server-addr: 127.0.0.1:8848
mybatis-plus:
mapper-locations: classpath*:/mapper/**/*.xml
global-config:
db-config:
id-type: auto
server:
port: 7000
仔细观察其实分为几类:Spring的配置、数据源的配置、mybatis的配置
在nacos配置中心新建命名空间和组
1.思路为:每个微服务有自己的命名空间
2.然后回到配置列表,新增配置
数据源配置
data id为要拆分的配置名,可随意(因为我这里是数据源相关的配置,故取名为datasource.yml)
统一用dev这个组
配置内容为我们抽取出来的关于数据源相关的配置
mybatis配置
spring的配置
在bootstrap.properties中配置
spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=47bea605-611d-489e-836d-db7ad35dcf46
spring.cloud.nacos.config.group=dev
spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml
spring.cloud.nacos.config.extension-configs[0].group=dev
spring.cloud.nacos.config.extension-configs[0].refresh=true
spring.cloud.nacos.config.extension-configs[1].data-id=mybatis.yml
spring.cloud.nacos.config.extension-configs[1].group=dev
spring.cloud.nacos.config.extension-configs[1].refresh=true
spring.cloud.nacos.config.extension-configs[2].data-id=other.yml
spring.cloud.nacos.config.extension-configs[2].group=dev
spring.cloud.nacos.config.extension-configs[2].refresh=true
1.其中spring.cloud.nacos.config.namespace为我们的命名空间ID
2.spring.cloud.nacos.config.group=dev,为选择的命名空间下的组
3.spring.cloud.nacos.config.extension-configs可接收一个数组,所有我们可以以数组的方式从nacos中引入多个配置
public void setExtensionConfigs(List<NacosConfigProperties.Config> extensionConfigs) {
this.extensionConfigs = extensionConfigs;
}
配置 | 解析 |
spring.cloud.nacos.config.extension-configs[0].data-id | 为我们之前在nacos中新建的拆分出来的配置文件的data id |
spring.cloud.nacos.config.extension-configs[0].group | 命名空间下的组 |
spring.cloud.nacos.config.extension-configs[0].refresh | 实时刷新,默认为false |
测试
我们将原来项目中appliction.yml中的所有配置项全部注释 ,发现项目能正常运行,且可以正常调用优惠券服务。
切换环境只需修改组名就好了,无需修改命名空间名。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/154460.html