1.回顾之前的web.xml 的加载方式
2.springBoot加载application.yml方式
1.Application.run方法中的ConfigurableEnvironment environment = this.prepareEnvironment(listeners, bootstrapContext, applicationArguments);是准备环境,里面会加载配置文件
2.prepareEnvironment 方法中的listeners.environmentPrepared(bootstrapContext, (ConfigurableEnvironment)environment);这里会触发事件机制 进行配置文件的读取执行
3.org.springframework.boot.context.config.ConfigFileApplicationListener 接收事件 进行读取配置文件
3.配置文件读取的优先级
- 1.同一位置,不同类型
- properties > yml 也就是同一属性,以properties为准
- 不同属性 互相补充
- properties > yml 也就是同一属性,以properties为准
- 2.同一类型 不同位置
- config/application.properties(项目根目录中config目录下)>application.properties(项目根目录下)>resource/config/application.properties>resource/application.properties 也就是同一属性,以最大的为准
- 不同属性 互相补充
- config/application.properties(项目根目录中config目录下)>application.properties(项目根目录下)>resource/config/application.properties>resource/application.properties 也就是同一属性,以最大的为准
- 3.激活配置文件与默认配置文件的优先级
- application-xxx.properties >application.properties 也就是同一属性,以设置的激活文件为准
- 不同属性 互相补充
- application-xxx.properties >application.properties 也就是同一属性,以设置的激活文件为准
标签:读取,配置文件,yml,application,config,properties,springBoot From: https://www.cnblogs.com/fuerming/p/17486371.html