spring boot 使用属性加载顺序
来源:互联网 发布:网络命令ping 编辑:程序博客网 时间:2024/06/07 11:14
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定义的内容
对于使用 spring cloud的应用,会在加载 application.properties 前加载 bootstrap.properties
加载的源码位于:org.springframework.cloud.bootstrap.BootstrapApplicationListener
public static final String BOOTSTRAP_PROPERTY_SOURCE_NAME = "bootstrap";public static final int DEFAULT_ORDER = -2147483643;public static final String DEFAULT_PROPERTIES = "defaultProperties";private int order = -2147483643;public BootstrapApplicationListener() {}public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) { ConfigurableEnvironment environment = event.getEnvironment(); if(((Boolean)environment.getProperty("spring.cloud.bootstrap.enabled", Boolean.class, Boolean.valueOf(true))).booleanValue()) { if(!environment.getPropertySources().contains("bootstrap")) { ConfigurableApplicationContext context = null; String configName = environment.resolvePlaceholders("${spring.cloud.bootstrap.name:bootstrap}"); Iterator var5 = event.getSpringApplication().getInitializers().iterator(); while(var5.hasNext()) { ApplicationContextInitializer<?> initializer = (ApplicationContextInitializer)var5.next(); if(initializer instanceof ParentContextApplicationContextInitializer) { context = this.findBootstrapContext((ParentContextApplicationContextInitializer)initializer, configName); } } if(context == null) { context = this.bootstrapServiceContext(environment, event.getSpringApplication(), configName); } this.apply(context, event.getSpringApplication(), environment); } }}
阅读全文
0 0
- spring boot 使用属性加载顺序
- Spring Boot 配置加载顺序
- Spring Boot 配置文件加载顺序
- Spring Boot配置加载顺序
- 警告 spring boot 加载beans的顺序
- (二)Spring-boot 配置文件加载顺序
- 【Spring Boot】Spring Boot 属性配置和使用
- spring boot:使用@ConfigurationProperties注解加载配置文件
- Spring Boot 属性配置和使用
- Spring Boot 属性配置和使用
- Spring Boot 属性配置和使用
- Spring Boot 属性配置和使用
- Spring Boot 属性配置和使用
- Spring Boot属性配置及使用
- Spring Boot使用自定义的properties属性
- Spring Boot 属性配置和使用
- Spring Boot 属性配置和使用
- Spring Boot 属性配置和使用
- 一个简单的倒计时控件的实现
- 态度决定高度
- Retrofit简易封装
- LR11:Web Tours登不上
- 使用git将项目上传到github(最简单方法)
- spring boot 使用属性加载顺序
- ipset详解
- Python 从入门到实践 8-9 课后习题
- Android | Android数据存储
- B. Months and Years(题解)
- 四大组件之一:Service详细介绍
- JavaSE基础语法中的运算符
- Java 线程池艺术探索
- @CacheEvict中的allEntries与beforeInvocation的区别