spring boot - 原理解析

一、Profile功能

多环境配置文件处理。

1、在application.properties 使用 spring.profiles.active=dev\pro,标注用哪个配置文件

 相关规则:

  • 默认配置文件一定会激活,任何时候加载,需要指定环境配置文件
  • 相同配置项,环境文件的优先

2、打包的方式,进行切换 java -jar xx.jar --spring.profiles.active=dev,这样使用命令行方式,其实是修改配置文件中的变量值

3、使用@Profile 注解不同环境的组件注入

4、Profile分组,其实就是对不同配置文件进行组合。

二、外部化配置

1、一下都可以作为配置信息的来源

  • 获取环境变量
  • 命令行参数
  • 配置文件
  • 系统相关内容

2、优先级,排序越大优先级越高

 3、属性文件的读取,优先级也是从下往上

  • classpath 根路径
  • classpath 根路径下的config目录
  • jar包当前目录
  • jar包当前目录的config目录
  • /config子目录的直接子目录(config下的一级文件)Linux环境下的

总结一句话,命令行 > 外部 > 内部,越后加载的优先级越高,因为会覆盖之前的属性。

猜你喜欢

转载自blog.csdn.net/liming0025/article/details/121002227