springBoot 读取application.yml及优先级
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 也就是同一属性,以设置的激活文件为准
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步