SpringBoot 学习 – @SpringBootApplication注解的意义

SpringBoot 学习 – @SpringBootApplication注解的意义

SpringBoot 学习 – @SpringBootApplication注解的意义

在启动类里面我们可以看到@SpringBootApplication这个注解。

@SpringBootApplication是一个三体的结构, 打开源码可以看到他是一个复合的注解Annotation


SpringBoot 学习 – @SpringBootApplication注解的意义

可以看到他有多个Annatation注解来定义元注解,Target限制使用范围,Retention显示生命周期,Documented限制文档等

实际上来说,其实也就三个注解可以说是顶梁注解
分别是

  1. @Configuration
  2. @EnableAutoConfiguration
  3. @ComponentScan

关于@Configuration

它是javaConfig形式的springIOC容器的配置类,定义为Spring容器配置类

关于@EnableAutoConfiguration

它是借助 @Import 的支持,收集和注册特定场景相关的 bean 定义,将所有符合自动配置条件的 bean 定义加载到 IoC 容器。
SpringBoot 学习 – @SpringBootApplication注解的意义
SpringBoot 学习 – @SpringBootApplication注解的意义
SpringBoot 学习 – @SpringBootApplication注解的意义

形同拖拉机,把所有配置ioc文件收集在一起,放在ApplicationContext的ioc里面

关于@ComponentScan

这个就不用多说了,限制扫包的范围,在这里限制在本包下