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}

相关推荐
xqqxqxxq26 分钟前
Java Socket 多人聊天室(私聊+群聊)技术笔记(V4版本)
java·网络·笔记
Larcher27 分钟前
从状态快照到惰性初始化:读懂 React useState 的三个关键场景
javascript·人工智能·后端
lazy H30 分钟前
Git clone 怎么用?克隆项目及常见问题完整教程
大数据·git·后端·学习·搜索引擎·github
wang090743 分钟前
自己动手写一个spring之aop_1
java·后端·spring
神奇小汤圆1 小时前
IDEA 运行报 Command line is too long?别慌,两招搞定(附原理)
后端
SelectDB1 小时前
Apache Doris 4.1 全面增强 Iceberg:支持 UPDATE、MERGE INTO 与 Iceberg V3
后端
国科安芯1 小时前
FreeRTOS RISC-V 浮点上下文切换移植:在 IAR 工程中完整保存 FPU 寄存器
java·开发语言·单片机·嵌入式硬件·算法·系统架构·risc-v
Conan在掘金1 小时前
ArkTS 进阶之道(13):ForEach 循环渲染边界——为啥 build 里不能写 for 循环
后端
deng12041 小时前
【Thread类的用法(1)-- Thread类的基本用法】
java·java-ee
妙码生花2 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(四十一):增加管理员账号管理接口
后端·go·gin