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}

相关推荐
Master_Azur4 分钟前
java内部类与匿名内部类
后端
开心就好202510 分钟前
不依赖 Mac 也能做 iOS 开发?跨设备开发流程
后端·ios
一直都在57211 分钟前
线程间的通信
java·jvm
一只叫煤球的猫12 分钟前
RAG 如何落地?从原理解释到工程实现
人工智能·后端·ai编程
卷心菜投手ovo22 分钟前
一个页面支持自定义字段,后端该怎么设计数据库?
后端
隔壁家滴怪蜀黍27 分钟前
AgentScope MsgHub 多智能体通信机制详解
后端
孟陬27 分钟前
国外技术周刊 #3:“最差程序员”带动高效团队、不写代码的创业导师如何毁掉创新…
前端·后端·设计模式
GIOTTO情31 分钟前
Infoseek危机公关全链路技术解析:基于近期热点舆情的落地实践
java
Cosolar33 分钟前
Transformer训练与生成背后的数学基础
人工智能·后端·开源
Mr.45671 小时前
Spring Boot集成Redis:单机、哨兵、集群三种模式统一配置实战
spring boot·redis·bootstrap