SpringBoot自动配置的原理是什么?

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 面试其他
  • 时间:2023-02-12 16:51
  • 3343人已阅读
简介 SpringBoot启动的时候通过@EnableAutoConfiguration注解找到META-INF/spring.factories配置文件中所有的自动配置类,并对其进行加载,而这些自动配置类的类名都是以AutoConfiguration结尾来命名的,它实际上就是一个javaConfig形式的Spring容器配置类,它们都有一个@EnableConfigurationPerperties的

🔔🔔好消息!好消息!🔔🔔

 如果您需要注册ChatGPT,想要升级ChatGPT4。凯哥可以代注册ChatGPT账号代升级ChatGPT4

有需要的朋友👉:微信号 kaigejava2022

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 方法运行


TopTop