是SpringBoot项目中最核心的注解,目的是开启自动配置
主要是@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan这三个注解的组合。
功能:自动扫描并加载符合条件的组件或者bean定义,将这个bean定义加载到IOC容器中。
作用范围:可以通过basePackage等属性来颗粒度的控制@component的扫描范围,如果不指定,会默认从@Component所在类package进行扫描。
注:所以SpringBoot的启动类最好是放在root package下,因为默认不指定basePackages
@ComponentScan告诉Spring 哪个packages 的用注解标识的类 会被spring自动扫描并且装入bean容器。
例如,如果你有个类用@Controller注解标识了,那么,如果不加上@ComponentScan,自动扫描该controller,
那么该Controller就不会被 spring扫描到,更不会装入spring容器中,因此你配置的这个Controller也没有意义。
@EnableAutoConfiguration可以帮助SpringBoot应用将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器
参考: https://m.php.cn/faq/417146.html
https://blog.csdn.net/qq_28289405/article/details/81302498
https://developer.51cto.com/art/202104/657165.htm?pc