激活:@EnableAutoConfigurationweb
配置:/META--INF/spring.factoriesspring
實現:xxxAutoConfiguartion運維
在Spring Boot項目中都有以下的啓動類:spring-boot
最重要的就是@SpringBootApplication和SpringApplication.run(),其中spa
@SpringBootApplication註解部分:3d
當spring boot掃描到@EnableAutoConfiguration註解時
則會將spring-boot-autoconfigure.jar/META-INF/spring.factories文件中org.springframework.boot.autoconfigure.EnableAutoConfiguration對應的value裏的全部xxxConfiguration類加載到IOC容器中。
而xxxAutoConfiguration類通常都會有@ConditionalOnxxx註解,經過這些條件註解來判斷是否真正的建立xxxConfiguration對象。
spring boot的各類spring-boot-starter-xxx.jar也正是居於此註解來達到自動裝配的目的。對象
@EnableAutoConfiguration註解部分:blog
其中最關鍵的要屬@Import(AutoConfigurationImportSelector.class),藉助AutoConfigurationImportSelector,@EnableAutoConfiguration能夠幫助SpringBoot應用將全部符合條件的@Configuration配置都加載到當前SpringBoot建立並使用的IoC容器。
生命週期
web Servlet:Tomcat、Jetty和Undertow部署
web Reactive:Netty Web Server
指標:/actuator/metrics
健康檢查:/actuator/health
外部化配置:/actuator/configprops