springboot 外部化配置

背景:修改jar包中的配置比较麻烦 项目部署的时候放一个配置文件在jar包外

配置文件优先级:

1.jar包内的application.properties/yaml

2.jar包内的application-{profile}.properties/yaml

3.jar包外的application.properties/yaml

4.jar包外的application-{profile}.properties/yaml

这里4的优先级最高 可以覆盖前面的

properties优先级高于ymal

按照如下配置后 即config文件下配置 启动优先级高于根目录下:

其中使用 命令行加参数的启动方式优先级更高 在部署环境有配置文件的情况下

-同理 部署目录下也可以放置config文件夹 其优先级较高 如果config里面还有子目录 里面也有配置文件 其优先级更高

-重复的被覆盖 不同的被生效

-其他配置文件 比如自定义的 abc.yaml

可以在其他配置文件中进行导入

spring.config.import=classpath:/abc.properties 具体根据该文件实际位置而不同

-如果外部配置一样的,会覆盖该配置文件中的值

-配置文件中的变量可以被@Value 注入到类中的字段

@Value(" h a h a " ) S t r i n g h a h a ; 或者 @ V a l u e ( " {haha}") String haha; 或者@Value(" haha")Stringhaha;或者@Value("{haha:阿萨大大}") 如果没有配置 默认值是阿萨大大

-配置文件引用其他变量的写法

bca=端口值是:${server.port}

相关推荐
许彰午1 小时前
13-describe元数据输出
java·低代码·架构·状态模式
李昊哲小课1 小时前
SpringBoot4 云端咖啡站 阶段二:数据访问与分层架构
spring boot·架构
Profile排查笔记1 小时前
指纹浏览器怎么设置 IP?代理配置、检测与排错流程
前端·人工智能·后端·自动化
用户3721574261352 小时前
Java 设置 Word 文档编辑限制并允许指定区域编辑
java
宠友信息2 小时前
社区类源码开发实践中的仿小红书系统技术要点分析
java·spring boot·redis·mysql·uni-app·vue·内容运营
IT_陈寒2 小时前
SpringBoot自动配置失效?你可能漏了这个小开关
前端·人工智能·后端
用户3721574261352 小时前
Java 设置 PDF 表单域只读或扁平化
java
摇滚侠3 小时前
《SpringBoot 3:入门与应用实战》第 9 章 使用 WebMvc 开发应用 阅读笔记 1
spring boot·笔记·后端
用户8356290780513 小时前
使用 Python 在 Excel 中插入 OLE 对象
后端·python
程序员小八7773 小时前
Go 语言特性
开发语言·后端·golang