首页 > 其他分享 >Springboot中application.yml、application.properties和bootStrap.yml的加载顺序

Springboot中application.yml、application.properties和bootStrap.yml的加载顺序

时间:2022-11-26 23:02:58浏览次数:53  
标签:Springboot 目录 yml application config properties resources

一、SpringApplication位于项目根目录,所以所有得代码要和SpringApplication所在目录平级或下一级

二、以jar包发布springboot项目时,默认会先使用jar包跟目录下的application.properties来作为项目配置文件。
如果在不同的目录中存在多个配置文件,它的读取顺序是:
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.yml
注:
1、如果同一个目录下,有application.yml也有application.properties,默认先读取application.properties。
2、如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。
3、创建SpringBoot项目时,一般的配置文件放置在“项目的resources目录下”​​​​​
4、先后加载顺序:若application 和bootstrap 在同一目录下:bootstrap先加载 application后加载

三、 若application.yml 和bootStrap.yml 在同⼀⽬录下,则bootStrap.yml 的加载顺序要⾼于application.yml,即bootStrap.yml 会优先被加载。
原理:
bootstrap.yml ⽤于应⽤程序上下⽂的引导阶段。
bootstrap.yml 由⽗Spring ApplicationContext加载。
•bootstrap.yml 可以理解成系统级别的⼀些参数配置,这些参数⼀般是不会变动的。
•application.yml 可以⽤来定义应⽤级别的,如果搭配 spring-cloud-config 使⽤ application.yml ⾥⾯定义的⽂件可以实现动态替换。



标签:Springboot,目录,yml,application,config,properties,resources
From: https://blog.51cto.com/u_11990719/5889240

相关文章

  • SpringBoot2笔记
    SpringBoot2:注意事项:​1、SpringBoot的启动类需要和逻辑代码所在的包在同一个包下。(主程序所在的包及其以下子包中的组件都会进行扫描)​......
  • SpringBoot(监控)
    1-2-3-然后使用json.cnjson的可视化工具,进行查看。4-待更新...............
  • Failed to load ApplicationContext-myBatis注解与整合
    严重:CaughtexceptionwhileallowingTestExecutionListener[org.springframework.test.context.support.DependencyInjectionTestExecutionListener@21213b92]topre......
  • springboot事务源码分析
    1、本次使用springboot框架分析事务源码2、打开spring-boot-autoconfigure查看spring.factories发现关于事务的自动配置包含:DataSourceTransactionManagerAutoConfigurati......
  • springboot
    目录单元测试单元测试要用到spring管理的bean那种......
  • springboot学习
    package com.cy.pj.common.cache;@Component        @Scope("singleton")@Lazy//不会启动的时候就加载类        public class DefaultCache{......
  • Java Web中requset,session,application 的作用域及区别
    三者概述requset概述:request是表示一个请求,只要发出一个请求就会创建一个request用处:常用于服务器间同一请求不同页面之间的参数传递,常应用于表单的控件值传递。sessio......
  • springboot之redis启动时的三个警告
    第一个警告将net.core.somaxconn=1024添加到/etc/sysctl.conf中,然后执行sysctl-p生效配置。——20221116@设置的不起作用第二个警告将vm.overcommit_memory=1添......
  • Springboot项目问题之StringRedisTemplate could not be found
    一、问题背景在Springboot山配置redis,启动项目之后报找不到StringRedisTemplate,使用了jedis二、报错截图如下三、我的项目配置如下springboot版本是2.6.13jedis是......
  • SpringBoot中的日志框架(未完成)
    日志是什么?日志是一个记录事件的组件,无论是记录运行情况还是追踪线上问题,都需要分析日志。为什么需要日志框架?场景演变:1、最初时利用System.out.println("msg")来输出......