SpringBoot架構 – @SpringBootApplication注解的意義
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPB1UNRRUTxUFROBDOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLwYzM1QTNwQTMxEDMxkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
在啟動類裡面我們可以看到@SpringBootApplication這個注解。
@SpringBootApplication是一個三體的結構, 打開源碼可以看到他是一個複合的注解Annotation
可以看到他有多個Annatation注解來定義元注解,Target限制使用範圍,Retention顯示生命周期,Documented限制文檔等
實際上來說,其實也就三個注解可以說是頂梁注解
分别是
- @Configuration
- @EnableAutoConfiguration
- @ComponentScan
關于@Configuration
它是javaConfig形式的springIOC容器的配置類,定義為Spring容器配置類
關于@EnableAutoConfiguration
它是借助 @Import 的支援,收集和注冊特定場景相關的 bean 定義,将所有符合自動配置條件的 bean 定義加載到 IoC 容器。
形同拖拉機,把所有配置ioc檔案收集在一起,放在ApplicationContext的ioc裡面
關于@ComponentScan
這個就不用多說了,限制掃包的範圍,在這裡限制在本包下