Spring Boot核心

@SpringBootApplication是Spring Boot的核心註解,他是一個組合註解。

 

@SpringBootApplication註解主要組合了@Configuration、@EnableAutoConfiguration、@ComponentScan;若不使用註解則可以在入口類上直接使用@Configuration、@EnableAutoConfiguration、@ComponentScan。

@EnableAutoConfiguration讓Spring Boot根據類路徑中的jar包依賴爲當前項目進行自動配置。

例如,添加了spring-boot-starter-web依賴,會自動添加Tomcat和Spring MVC的依賴,那麼Spring Boot會對Tomcat和Spring MVC進行自動配置

@SpringBootApplication註解的exclude參數指關閉特定的自動配置

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

 

Spring Boot提倡0配置,即無xml配置,但是在實際項目中,可能有一些特殊需求要求你必須使用xml,這時我們可以通過Spring提供的@ImportResource來加載xml配置,例如:

@ImportResource("classpath:some-context.xml","classpath:another-context.xml");Spring Boot還提供了基於安全的配置方式,通過@ConfigurationProperties將properties屬性和一個Bean及其屬性關聯,從而實現類型安全的配置。Profile配置Profile是Spring用來針對不同的環境對不同的配置提供支持的,全局Profile配置使用application-{profile}.properties(如:application-prod.properties)通過application.properties中設置spring.profiles = prod來指定活動的profile。