读取Nacos配置中⼼的配置⽂件
统⼀配置⽂件
1、在Nacos创建
创建统⼀配置⽂件
(1)点击创建按钮
(2)输⼊配置信息
a)Data ID 的完整规则格式如下
${prefix}-${spring.profile.active}.${file-extension}
- prefix 默认为所属⼯程配置spring.application.name 的值(即:nacos-provider),也可以通过配置
项 spring.fig.prefix来配置。
- spring.profiles.active=dev 即为当前环境对应的 profile。注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension} - file-exetension 为配置内容的数据格式,可以通过配置项 spring.fig.file-extension 来配置。⽬前只⽀持 properties 和 yaml 类型。
以service-statistics模块为例
2、以
2、
(1)在service中引⼊依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
读取配置文件失败<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
(2)创建bootstrap.properties配置⽂件
丹尼斯 吴spring.fig.server-addr=127.0.0.1:8848
spring.profiles.active=dev
# 该配置影响统⼀配置中⼼中的dataId,之前已经配置过
spring.application.name=service-statistics
(3)把项⽬之前的application.properties内容注释,启动项⽬查看效果
3、补充:springboot配置⽂件加载顺序
其实yml和properties⽂件是⼀样的原理,且⼀个项⽬上要么yml或者properties,⼆选⼀的存在。推荐使⽤yml,更简洁。
bootstrap与application
(1)加载顺序
这⾥主要是说明application和bootstrap的加载顺序。
⽗ApplicationContext 被加载到使⽤ l 的之前。
(2)配置区别
1、创建命名空间
默认只有public,新建了dev、test和prod命名空间
大脸发型
2、克隆配置
(1)切换到配置列表:
可以发现有四个名称空间:public(默认)以及我们⾃⼰添加的3个名称空间(prod、dev、test),可以点击查看每个名称空间下的配置⽂件,当然现在只有public下有⼀个配置。
默认情况下,项⽬会到public下服务名.properties⽂件。
接下来,在dev名称空间中也添加⼀个nacos-provider.properties配置。这时有两种⽅式:
第⼀,切换到dev名称空间,添加⼀个新的配置⽂件。缺点:每个环境都要重复配置类似的项⽬
第⼆,直接通过clone⽅式添加配置,并修改即可。推荐
点击编辑:修改配置内容,端⼝号改为8013以作区分
在项⽬模块中,修改bootstrap.properties添加如下配置
spring.fig.server-addr=127.0.0.1:8848
spring.profiles.active=dev
# 该配置影响统⼀配置中⼼中的dataId,之前已经配置过
spring.application.name=service-statistics
spring.fig.namespace=dfee0c9a-f063-4364-9bd9-4efbaa0f8f31
重启服务提供⽅服务,测试修改之后是否⽣效
四、多配置⽂件加载
在⼀些情况下需要加载多个配置⽂件。假如现在dev名称空间下有2个配置⽂件:service-statistics.properties、jdbc.properties
添加配置,加载多个配置⽂件
spring.fig.server-addr=127.0.0.1:8848
spring.profiles.active=dev
非诚勿扰美女嘉宾薛璐# 该配置影响统⼀配置中⼼中的dataId,之前已经配置过
spring.application.name=service-statistics
spring.fig.namespace=dfee0c9a-f063-4364-9bd9-4efbaa0f8f31
李易峰6分钟视频在线观看spring.-config[0].data-id=port.properties郭敬明简介
spring.-config[0].refresh=true
发布评论