当前位置: 首页 > news >正文

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

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.properties,default的优先级是大于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

相关文章:

  • 哪两个数字域名是做医疗信息网站的/网站优化推广哪家好
  • 专门做推广的网站/疫情最新消息
  • 郑州seo关键词推广/优化水平
  • 网站建设的特点/社区营销推广活动方案
  • 做网站开发要学多久/最近的重要新闻
  • 网站统计功能设计/seo分析师招聘
  • BetaFlight飞控AOCODARC-F7MINI固件编译
  • Go语言数据结构
  • 营销科学年度复盘|9个数字,见证“科学增长”的力量
  • Elasticsearch(二)--Elasticsearch客户端讲解
  • 【ROS2 入门】ROS 2 参数服务器(parameters)概述
  • 【异常】记一次因错误运用数据冗余,导致的数据不一致的生产事故
  • 【OpenCV 例程 300篇】256. 特征检测之 CenSurE(StarDetector)算法
  • 详细实例说明+典型案例实现 对动态规划法进行全面分析 | C++
  • 【C++】map和set的使用
  • Pytorch DataLoader中的num_workers (选择最合适的num_workers值)
  • 第328场周赛2537. 统计好子数组的数目
  • JDK1.8使用的垃圾回收器和执行GC的时长以及GC的频率