spring boot 使用属性加载顺序

1.命令行中传入的参数

2.SPRING_APPLICATION_JSON中的属性。SPRING_APPLICATION_JSON是以JSON格式配置再系统环境变量中的内容

3.java:comp/env中的JNDI属性

4.JAVA的属性,可以通过System.getProperties() 获得的内容

5.操作系统的环境变量

6.通过random.*配置的随机属性

7.位于当前应用jar包之外,针对不同{profile}环境的配置文件内容,例如application-{profile}.properties或YAML定义的配置文件

8.位于当前应用jar包之内,针对不同{profile}环境的配置文件内容,例如application-{profile}.properties或YAML定义的配置文件。

9.位于当前应用jar包之外的application.properties或YAML配置内容

10.位于当前应用jar包之内的application.properties或YAML配置内容

11.在@Configuration注解修改的类中,通过@PropertySource注解定义的属性

12.应用默认属性,使用SpringApplication.setDefaultProperties定义的内容

优先级由高到低,数字越小优先级越高

时间: 2024-10-19 12:34:01

spring boot 使用属性加载顺序的相关文章

Spring Boot配置文件的加载顺序

配置文件的加载顺序, 后加载的会覆盖先加载的:也就是properties配置文件的内容会替换掉.yml及.yaml文件的内容 原文地址:https://www.cnblogs.com/niwotaxuexiba/p/10849376.html

Spring boot 国际化自动加载资源文件问题

Spring boot 国际化自动加载资源文件问题 最近在做基于Spring boot配置的项目.中间遇到一个国际化资源加载的问题,正常来说只要在application.properties文件中定义正确的资源文件路径,Spring boot就启动时就会自动加载资源. spring.messages.basename=i18n/message 但是我的项目修改后获取消息时系统报错,找不到对应语言的资源配置.于是试图找到原因.Google好久都没找到,简直好像就我一个人遇到这鬼问题一样??.只好自

spring-boot学习五:Spring boot配置文件的加载位置

1.配置文件的加载位置 spring boot启动的时候会加载全局配置文件application.properties(或者application.yaml)文件,这个文件默认的位置在: 即classpath:/的相对路径下.这个配置文件除了可以在resource下之外,还可以在如下位置: 在classpath:/config/即resources/config下: 在当前工程文件的config文件夹下: 在当前工程的相对路径下: 2.配置文件的加载顺序 以上所说的四个文件的优先级如下: app

Spring Boot(3):加载DataSource过程的源码分析及yml中DataSource的配置

Spring Boot实现了自动加载DataSource及相关配置.当然,使用时加上@EnableAutoConfiguration注解是必须的.下面就是对这一部分的源码分析. (1)Spring Boot启动后会调用org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.下面是部分源码. 1 @Configuration 2 @ConditionalOnClass({ DataSource.class, E

spring boot的初始化加载

1.CommandLineRunner在项目中经常需要进行初始化一些数据(比如缓存等),以便后面调用使用.spring boot可以通过CommandLineRunner接口实现启动加载功能. @Component @Order(1) //初始化加载优先级 数字越小优先级越高 public class Init implements CommandLineRunner { @Resource private IESignInitService eSignInitService; @Overrid

IDEA spring boot 开启热加载

1.添加spring-boot-devtools的包,true必须加上. <!-- 热加载配置part1 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency> 2

spring boot 使用 EnvironmentAware 加载配置文件

@Configuration public class PropertiesUtils implements EnvironmentAware { private int redisExpireTime; private boolean enabled; private int refreshTime; @Override public void setEnvironment(Environment environment) { //解析配置文件头 RelaxedPropertyResolver

web.xml之context-param,listener,filter,servlet加载顺序及其周边

先以加载spring为例子看看加载顺序的作用: Spring加载可以利用ServletContextListener 实现,也可以采用load-on-startup Servlet 实现,但比如filter 需要用到 bean ,但加载顺序是: 先加载filter 后加载spring,则filter中初始化操作中的bean为null:所以,如果过滤器中要使用到 bean,此时就可以根据加载顺序listener>filter>servlet,将spring 的加载 改成 Listener的方式.

web.xml 之contextParam,listener,filter,servlet的加载顺序

先以加载spring为例子看看加载顺序的作用: Spring加载可以利用ServletContextListener 实现,也可以采用load-on-startup Servlet 实现,但比如filter 需要用到 bean ,但加载顺序是: 先加载filter 后加载spring,则filter中初始化操作中的bean为null:所以,如果过滤器中要使用到 bean,此时就可以根据加载顺序listener>filter>servlet,将spring 的加载 改成 Listener的方式.