1、存放目录Application属性文件,按优先级排序,位置高的将覆盖位置
当前项目目录下的一个/config子目录
当前项目目录
【SpringBoot配置文件加载顺序详解】项目的resources即一个classpath下的/config包
项目的resources即classpath根路径(root)
文章插图
2、读取顺序如果在不同的目录中存在多个配置文件,它的读取顺序是:
1、config/application.properties(项目根目录中config目录下)2、config/application.yml3、application.properties(项目根目录下)4、application.yml5、resources/config/application.properties(项目resources目录中config目录下)6、resources/config/application.yml7、resources/application.properties(项目的resources目录下)8、resources/application.yml3、配置文件的生效顺序,会对值进行覆盖@TestPropertySource 注解
命令行参数
JAVA系统属性(System.getProperties())
操作系统环境变量
只有在random.*里包含的属性会产生一个RandomValuePropertySource
在打包的jar外的应用程序配置文件(application.properties,包含YAML和profile变量)
在打包的jar内的应用程序配置文件(application.properties,包含YAML和profile变量)
在@Configuration类上的@PropertySource注解
默认属性(使用SpringApplication.setDefaultProperties指定)
4、配置随机值roncoo.secret={random.value} roncoo.number={random.int}roncoo.bignumber={random.long} roncoo.number.less.than.ten={random.int(10)}roncoo.number.in.range=${random.int[1024,65536]}读取使用注解:@Value(value = https://www.isolves.com/it/cxkf/bk/2019-11-21/"${roncoo.secret}")注:出现黄点提示,是要提示配置元数据,可以不配置
5、属性占位符当application.properties里的值被使用时,它们会被存在的Environment过滤,所以你能够引用先前定义的值(比如,系统属性)
roncoo.name = www.roncoo.com
roncoo.desc = ${roncoo.name} is a domain name
6、其他配置的介绍端口配置
server.port=9090时间格式化spring.jackson.date-format=yyyy-MM-dd HH:mm:ss时区设置spring.jackson.time-zone=Asia/Chongqing
推荐阅读
- 你知道 Java 类是如何被加载的吗?
- SpringBoot整合Docsify生成网站文档
- 修复Firefox 70更新后无法加载某些网站的问题
- redis配置文件笔记
- 分享mysql配置文件my.cnf一键生成器
- Apache主配置文件httpd.conf 详解
- LINUX下DNS配置文件介绍
- 小程序性能优化总结
- Java 类在 Tomcat 中是如何加载的?
- 纯CSS实现加载转圈样式