spring cloud alibaba 笔记(nacos 篇二.服务配置中心以及动态刷新)
1.首先创建一个springboot 项目
在 pom.xml中加入 ,注意。需要版本号。坑了一个小时。死活拿不到nacos上面的配置。原来版本号的问题、
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>0.9.0.RELEASE</version>
</dependency>
2.在 resoures 文件夹下面加一个 bootstrap.yml 或者 bootstrap.properties 文件。
补充: bootstrap与application
(1)加载顺序
这里主要是说明application和bootstrap的加载顺序。
bootstrap.yml(bootstrap.properties)先加载
application.yml(application.properties)后加载
bootstrap.yml 用于应用程序上下文的引导阶段。
bootstrap.yml 由父Spring ApplicationContext加载。
父ApplicationContext 被加载到使用 application.yml 的之前。
(2)配置区别
bootstrap.yml 和application.yml 都可以用来配置参数。
bootstrap.yml 可以理解成系统级别的一些参数配置,这些参数一般是不会变动的。
application.yml 可以用来定义应用级别的。
3.在bootstrap.yml 添加一下内容
server:
port: 5555
spring:
application:
name: config
cloud:
nacos:
config:
server-addr: localhost:8848
file-extension: yml
profiles:
active: dev
说明一下: name:指的是服务的名字
server-addr: nacos的ip与端口
file-extension: 配置内容的数据格式,目前只支持: yaml 以及 properties
active: dev 表示开发环境
4.在Nacos中添加配置信息
4.1.Nacos中的匹配规则
理论: Nacos中的datatid的组成格式及与SpringBoot配置文件中的匹配规则
在Nacos Spring Cloud中,
4.1.Nacos中的匹配规则
理论: Nacos中的datatid的组成格式及与SpringBoot配置文件中的匹配规则
在Nacos Spring Cloud中,
dataId
的完整格式如下:${prefix}-${spring.profile.active}.${file-extension}
prefix
默认为spring.application.name
的值,也可以通过配置项spring.cloud.nacos.config.prefix
来配置。spring.profile.active
即为当前环境对应的profile。注意:当spring.profile.active
为空时,对应的连接符-
也将不存在,dataId的拼接格式变成${prefix}.${file-extension}
file-extension
为配置内容的数据格式,可以通过配置项为spring.cloud.nacos.config.file-extension
来配置。目前只支持properties
和yaml
类型。
注意Data ID的命名
5. 在springboot项目加入 @RefreshScope 注解。动态刷新
然后接下来访问 项目。
再修改nacos 上面配置文件的
再次访问