springboot配置文件加载顺序,spring加载类的顺序

首页 > 机动车 > 作者:YD1662023-11-09 19:05:49

1、存放目录

Application属性文件,按优先级排序,位置高的将覆盖位置

当前项目目录下的一个/config子目录

当前项目目录

项目的resources即一个classpath下的/config包

项目的resources即classpath根路径(root)

springboot配置文件加载顺序,spring加载类的顺序(1)

2、读取顺序

如果在不同的目录中存在多个配置文件,它的读取顺序是:

1、config/application.properties(项目根目录中config目录下) 2、config/application.yml 3、application.properties(项目根目录下) 4、application.yml 5、resources/config/application.properties(项目resources目录中config目录下) 6、resources/config/application.yml 7、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 = "${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

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.