Spring Boot中常用的三個注解
-
注解配置截圖:
@SpringBootConfiguration
這個注解就是根據 @Configuration 注解演化而來的,二者功能也一致,標注當前類是配置類。
@Configuration
org.springframework.context.annotation.Configuration
這是 Spring 3.0 添加的一個注解,用來代替 applicationContext.xml 配置文件。
備注:以上兩個注解會將當前類內聲明的一個或多個以 @Bean 注解標記的方法的實例納入到spring容器中,並且實例名就是方法名,見下圖。
@ComponentScan
org.springframework.context.annotation.ComponentScan
這是 Spring 3.1 添加的一個注解,用來代替配置文件中的 component-scan 配置,開啟組件掃描,即自動掃描包路徑下注解所修飾的對象進行注冊到容器中。
備注:
– 默認掃描@SpringBootApplication所在類的同級目錄和它的子目錄,注冊 bean 實例到容器中。
– 在實際的開發中,我們可能不需要某一項進行自動配置,只需要添加@SpringBootApplication(exclude = {RabbitAutoConfiguration.class})
@EnableAutoConfiguration
org.springframework.boot.autoconfigure.EnableAutoConfiguration
啟動自動配置,該注解會使Spring Boot根據項目中配置的依賴,自動配置所需的依賴jar包:比如:我們添加了spring-boot-starter-web配置,Spring Boot會自動配置tomcat、Spring MVC等;
備注:
看全路徑就知道,Spring Boot 的注解,用來提供自動配置,上面的兩個都是 spring-context 包下的,不屬於 Spring Boot,所以 Spring 3.0 之后的去 XML 配置方式已經為 Spring Boot 埋下了伏筆!
@SpringBootApplication
此注解是一個復合注解,包括@ComponentScan,和@SpringBootConfiguration,@EnableAutoConfiguration 。