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}

相关推荐
GetcharZp41 分钟前
玩转 Linux 机器视觉:手把手带你搞定 Ubuntu 下海康工业相机 C++ SDK
后端
星星在线4 小时前
MusicFree:一个「All in One」的个人音乐服务器,让听歌回归简单
前端·后端
IT_陈寒5 小时前
Redis的SETNX并发问题让我加了三天班
前端·人工智能·后端
demo007x5 小时前
Docling 文档转换以及技术架构分析
前端·后端·程序员
NE_STOP6 小时前
Vide Coding--AI编程工具的选择
java
袋鱼不重7 小时前
我的神奇同事,AI 用多了居然写了个 Open In Codex
前端·后端·ai编程
用户8356290780517 小时前
使用 Python 操作 Word 内容控件
后端·python
像我这样帅的人丶你还7 小时前
啥? 前端也要会干Java?🛵🛵🛵
后端
Hommy887 小时前
【剪映小助手】添加贴纸接口(Add Sticker)
后端·github·剪映小助手·视频剪辑自动化·剪映api
码云数智-园园7 小时前
C++20 Modules 模块详解
java·开发语言·spring