开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):Nacos 配置中心(读取配置文件)】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11539
Nacos 配置中心(读取配置文件)
内容介绍:
一、Nacos 配置中心(读取配置中心配置文件)
二、方法二
一、Nacos 配置中心(读取配置中心配置文件)
1、做法就是先点击配置列表,再点击右边的加号,
2、进入这个页面之后要填写读取的配置文件的名称,第二个是配置文件的默认组,第三个是配置文件内容和配置格式
Data ID的完整规则格式如下
$ {prefix}-$ {spring. profile. active}. ${file-extension}
- prefix 默认为所属工程配置 spring. application. name 的值(即: nacos- provider ) , 也可以通过配置项 spr ing. cloud. nacos. config. prefix 来配置。——服务名称
- spring. profiles. active=dev 即为 当前环境对应的profile。注意: 当spring. profiles. active 为空时,对应的连接符-也将不存在, dataId的拼接格式变成$ {prefix}. ${file-extension}——dev 的值
- file-exetension 为配置内容的数据格式,可以通过配置项spring. cloud. nacos. config. file-extension 来配置。
目前只支持 properties 和yaml 类型。——配置文件类型
创建完成后点击确定弹出配置信息可能有错误是否忽略点击确定,创建完成后不会自动跳转,需要手动点击配置列表,显示编辑的配置文件,此时点击编辑之后data id 则无法修改,可以删掉重新配置,但是不能修改,创建完成后进行测试查看如何进行测试。
3、在项目中读取 nacos 配置中心文件
(1)springboot 配置文件加载顺序
之前见到的配置文件都是 application 等等,
其实 yml 和 properties 文件是一样的原理,且一个项目上要么yml或者properties,二选一的存在。
推荐使用 ymI,更简洁。bootstrap 与 application.
- 加载顺序
这里主要是说明 application 和 bootstrap 的加载顺序。
bootstrap. yml < bootstrap.properties) 先加载
application. ym|
bootstrap. yml 用于应用程序上下文的引导阶段。
bootstrap. yml 由父 Spring ApplicationContext 加载。
父 ApplicationContext 被加载到使用 application.yml 的之前。
(2)配置区别
bootstrap. yml 和 application. yml 都可以用来配置参数。
bootstrap. yml 可以理解成系统级别的一-些参数配置, 这些参数- -般是不会 变动的。
application. yml 可以用来定义应用级别的。
当启用 springboot 时第一个加载bookstore这个文件,第二个运行的是application,假如加了 spring.profiles.active=dev 这句话就运行第三个文件application_dev
(3) 创建 bootstrap-properties 文件
创建 bootstrap-properties 文件,先将其中的内容注释掉,然后添加下述配置
#配置中心地址
spring.cloud.nacos . config.server- addr=127.0.0.1:8848
#spring. profiles . active=dev
#该配置影响统一配置中心中的 dataId
spring. application.name-service-statistics
4、调用的服务里面引入 config 依赖
在配置中心还需要引入一个依赖,
org. springfr amework . cloud
spring-cloud-starter-alibaba-nacos -config
测试
Application 中什么都没有,所以启动的时候就读取8999这个文件。
@SpringBootApplication
gomponentScan (basePackages = {" com. atguigu"})
@EnableDiscoveryClient
@EnableFeignClients
@MapperScan (' com. atguigu. staservice. mapper' )
@CEnableScheduling
public class StaApplication {
public static void main(String[] args) { SpringApplicat ion. run(StaApplication. class, args) ;
启动后发现端口号时8999,证明配置文件读到了远程的nacos中的文件
二、方法二
1、修改项目 bookstrap.properties 配置文件,添加一行配置
#配置中心地址
spring. cloud. nacos. config. server addr-127. 0.0.1:8848
spring. profiles. active=dev
#该配置影响统一-配置中心中的 dataId
spr ing. appl ication. name= service statistics
2、当配置文件添加上面那行配置之后,之前创建配置文件读取不到了,
需要按照新的规则创建配置文件,就是修改名字,
将配置文件修改为 service-statistics-dev-properties,将文件内容复制过来并且修改端口号为8111,重新启动,查看端口号,段就好为8111.
3.启动项目查看新创建的项目文件