天天看點

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

這個就不用多說了,限制掃包的範圍,在這裡限制在本包下