SpringBoot自动配置的原理是什么?
- 面试其他
- 时间:2023-02-12 16:51
- 4249人已阅读
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
SpringBoot启动的时候通过@EnableAutoConfiguration注解找到META-INF/spring.factories配置文件中所有的自动配置类,并对其进行加载,而这些自动配置类的类名都是以AutoConfiguration结尾来命名的,它实际上就是一个javaConfig形式的Spring容器配置类,它们都有一个@EnableConfigurationPerperties的注解,通过这个注解启动XXXProperties命名的类去加载全局配置中的属性,如server.port,而XXXProperties通过@ConfigurationProperties注解将全局配置文件中的属性与自己的属性进行绑定。
2、SpringBoot 配置加载顺序?
1、 properties文件 2、YAML文件 3、系统环境变量 4、命令行参数
3、spring boot初始化环境变量流程?
1、 调用prepareEnvironment方法去设置环境变量
2、 接下来有三个方法getOrCreateEnvironment,configureEnvironment,environmentPrepared
3、 getOrCreateEnvironment去初始化系统环境变量
4、 configureEnvironment去初始化命令行参数
5、 environmentPrepared当广播到来的时候调用onApplicationEnvironmentPreparedEvent方法去使用postProcessEnvironment方法load yml和properties变量
4、运行 SpringBoot 有哪几种方式?
1、 打包用命令或者者放到容器中运行
2、 用 Maven/ Gradle 插件运行
3、 直接执行 main 方法运行