NACOS动态配置
前置条件:基于前文“NACOS服务注册与发现搭建”项目中创建的项目开发NACOS的动态配置功能。
方式一:启动配置管理方式获取配置
1、项目引入POM包
1 2 3 4 5 | <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version> 2.2 . 2 .RELEASE</version> </dependency> |
2、yml配置NACOS系统信息
- 新增bootstrap.yml文件,配置信息写在该文件里。(问题:如放在application.yml会导致项目启动报找不到配置属性错误,原因:application.yml与bootstrap.yml加载顺序优先级问题。)
bootstrap.yml(bootstrap.properties)用来程序引导时执行,应用于更加早期配置信息读取,如可以使用来配置application.yml中使用到参数等
application.yml(application.properties) 应用程序特有配置信息,可以用来配置后续各个模块中需使用的公共参数等。
加载顺序:bootstrap.yml > application.yml > application-dev(prod).yml > ...
- 在bootstrap.yml中新增application.name和nacos的config信息。
12345678910spring:
application:
name: order-service-demo
cloud:
nacos:
config:
server-addr: localhost:
8848
file-extension: properties # 此处为配置使用的后缀名
group: DEFAULT_GROUP
3、NACOS系统新增动态配置参数
登录NOCAS系统在配置列表页面,点击新增配置输入配置信息,本文选择的是properties配置文件类型。
DataID格式:${prefix}-${spring.profiles.active}.${file-extension}
prefix:默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
spring.profiles.active:即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
file-exetension:为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
4、代码配置
在使用配置的controller中新增 @RefreshScope 注解,以及在注入属性上新增 @Value("${Key名称}") 注解。访问网站储呈现
方式二:JAVA SDK方式获取配置
1、项目引入POM包
1 2 3 4 5 | <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version> 2.0 . 0 -ALPHA. 2 </version> </dependency> |
2、NACOS系统新增动态配置参数
登录NOCAS系统在配置列表页面,点击新增配置输入配置信息,本文选择的是json配置文件类型。
DataID格式:${prefix}-${spring.profiles.active}.${file-extension}
prefix:默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
spring.profiles.active:即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
file-exetension:为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。
3、代码段
获取NACOS配置服务,根据Data ID获取配置。
获取到的配置信息,接口返回呈现。
posted on 2021-01-22 10:36 barryzhou 阅读(6280) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端