Springboot

53 阅读1分钟

Springboot

面试题

SpringBoot中的starter到底是什么

starter提供了一个自动化配置类,一般命名为XXXAutoConfiguration 使用条件注解决定一个配置是否生效

自动配置原理

  1. SpringBootApplication是由@Configuration、@EnableAutoConfiguration和@ComponentScan的组合

    @Configuration表示该类是Java配置类

    @CompenentScan开启自动扫描符合条件的bean(添加了@Controller @Service等注解)

    @EnableAutoConfiguration会根据类路径中的jar依赖为项目进行自动配置

    主要由@AutoConfigurationPackages和EnableAutoConfigurationImportSelector.class组成

    @AutoConfigurationPackages用于将启动类所在包里面的所有组件注册到spring容器

    EnableAutoConfigurationImportSelector通过springfactorysloader从类路径下去读取META-INF/Spring.factorys的信息