@SpringBootApplication註解是一個組合註解,包含如下註解java
- @Target(ElementType.TYPE)
- 註解的做用目標
- @Retention(RetentionPolicy.RUNTIME)
- Reteniton的做用是定義被它所註解的註解保留多久,一共有三種策略
- SOURCE:被編譯器忽略
- CLASS:註解將會被保留在Class文件中,但在運行時並不會被VM保留。這是默認行爲,全部沒有用Retention註解的註解,都會採用這種策略
- RUNTIME:保留至運行時。因此咱們能夠經過反射去獲取註解信息。
- @Documented
- 默認狀況下,javadoc是不包括註解的. 但若是聲明註解時指定了 @Documented,則它會被 javadoc 之類的工具處理, 因此註解類型信息也會被包括在生成的文檔中
- @Inherited
- 標記註解是能夠被繼承的
- @Configuration
- @EnableAutoConfiguration
- 根據jar包依賴爲當前項目進行自動配置,例如添加了spring-boot-starter-web依賴,會自動添加tomcat,spring MVC 的依賴,那麼Spring Boot會對Tomcat和spring MVC 進行自動配置
- @ComponentScan
- 主要就是定義掃描的路徑從中找出標識了須要裝配的類自動裝配到spring的bean容器中