Spring Boot 核心注解講解
Spring Boot 最大的特點是無需 XML 配置檔案,能自動掃描包路徑裝載并注入對象,并能做到根據 classpath 下的 jar 包自動配置。
是以 Spring Boot 最核心的 3 個注解就是:
1、@Configuration
org.springframework.context.annotation.Configuration
這是 Spring 3.0 添加的一個注解,用來代替 applicationContext.xml 配置檔案,所有這個配置檔案裡面能做到的事情都可以通過這個注解所在類來進行注冊。
下面幾個相關注解也是非常重要的!
@Bean
用來代替 XML 配置檔案裡面的 配置。
@ImportResource
如果有些通過類的注冊方式配置不了的,可以通過這個注解引入額外的 XML 配置檔案,有些老的配置檔案無法通過 @Configuration 方式配置的非常管用。
@Import
用來引入額外的一個或者多個 @Configuration 修飾的配置檔案類。
@SpringBootConfiguration
這個注解就是 @Configuration 注解的變體,隻是用來修飾是 Spring Boot 配置而已,或者可利于 Spring Boot 後續的擴充,源碼如下。
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Configuration
public @interface SpringBootConfiguration {
}
2、@ComponentScan
org.springframework.context.annotation.ComponentScan
這是 Spring 3.1 添加的一個注解,用來代替配置檔案中的 component-scan 配置,開啟元件掃描,即自動掃描包路徑下的 @Component 注解進行注冊 bean 執行個體到 context 中。
另外,@ComponentScans 是可重複注解,即可以配置多個,用來配置注冊不同的子包。
3、@EnableAutoConfiguration
org.springframework.boot.autoconfigure.EnableAutoConfiguration
看全路徑就知道,這是自 Spring Boot 誕生時添加的注解,用來提供自動配置,上面的兩個都是 spring-context 包下的,不屬于 Spring Boot,是以 Spring 3.0 之後的去 XML 配置方式已經為 Spring Boot 埋下了伏筆!