面试-springboot

1. 自动装配原理

  • 在Spring Boot项目中的引导类上有一个注解@SpringBootApplication,这个注解是对三个注解进行了封装,分别是:

    • @SpringBootConfiguration: 该注解与 @Configuration 注解作用相同,用来声明当前也是一个配置类。
    • @EnableAutoConfiguration: SpringBoot实现自动化配置的核心注解。
    • @ComponentScan: 组件扫描,默认扫描当前引导类所在包及其子包。
  • 其中@EnableAutoConfiguration是实现自动化配置的核心注解。 该注解通过@Import注解导入对应的配置选择器。

    内部就是读取了该项目和该项目引用的Jar包的的classpath路径下META-INF/spring.factories文件中的所配置的类的全类名。 在这些配置类中所定义的Bean会根据条件注解所指定的条件来决定是否需要将其导入到Spring容器中。

  • 条件判断会有像@ConditionalOnClass这样的注解,判断是否有对应的class文件,如果有则加载该类,把这个配置类的所有的Bean放入spring容器中使用。

图解:

image-20240625161645158

image-20240625161706815

image-20240625161731984

image-20240625161755696

image-20240625161810267

image-20240625162133471


面试-springboot
https://baijianglai.cn/面试-springboot/3f051803bfdd/
作者
Lai Baijiang
发布于
2024年5月10日
许可协议