Springboot打成JAR包后读取配置文件

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

Springboot的默认配置文件为application.properties或者是application.yml

如果这两个配置文件都存在不冲突的话就互相补充。冲突的话则properties优先级高。

当我们使用IDEA创建出一个Springboot项目上时配置文件默认出现在classpath(也就是项目里的resources目录下。
在这里插入图片描述

Springboot的application.properties配置文件的加载路径优先级从高到低
工程根目录:./config/
工程根目录./
classpath:/config/
classpath:/

另外关于配置文件的优先级

1、命名的优先级properties>yml
2、位置的优先级config>./>classpath也就是jar包同级目录config文件夹优先级最高其次是jar包同级路径最后是classpath在classpath中同样也是config路径的优先级大于同级路径
3、application-{profile}.properties > application.properties
4、位置的优先级大于命名的优先级。即classpath:/config/x.yml > classpath:x.properties
5、application-default.yml > /config/application.propertiesdefault的优先级是大于config目录的
6、总结优先级由高到低依次是
config/application-default.properties
config/application-default.yml
application-default.properties
application-default.yml
config/application.properties
config/application.yml
application.properties
application.yml

1、针对application.properties这种Spriingboot默认配置文件。

1在项目名.jar同级目录创建一个config文件夹把application.properties放进去。
在这里插入图片描述

2把application.properties放在在项目名.jar的同级目录下
在这里插入图片描述

2、其他的非application.properties配置文件需要读取配置文件里的信息时进行如下配置

1如果非application.properties配置文件配置在了项目中的resource目录下某个类读取配置文件里的信息时使用

@PropertySource(value = “classpath:xxx.properties”)

2如果非application.properties配置文件配置在了jar包外的目录下某个类读取配置文件里的信息时使用

@PropertySource(value = “file:./config/timing.properties”)

此时xxx.jar包同级目录下新建一个config文件夹里边放了配置文件timing.properties

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Spring