Rabbitmq 心跳檢測
阿新 • • 發佈:2020-09-02
現在微服務越來越火了,SpringBoot熱度蹭蹭直升,這裡介紹一下主程式入口@SpringBootApplication這個註解的結構
SpringBootApplication背後的祕密
@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan( excludeFilters = {@Filter( type = FilterType.CUSTOM, classes= {TypeExcludeFilter.class} ), @Filter( type = FilterType.CUSTOM, classes = {AutoConfigurationExcludeFilter.class} )}
雖然定義使用了多個Annotation進行了原資訊標註,但實際上重要的只有三個Annotation:
·@Configuration(@SpringBootConfiguration點開檢視發現裡面還是應用了@Configuration)
·@EnableAutoConfiguration
·@ComponentScan
所以,如果我們使用如下的SpringBoot啟動類,整個SpringBoot應用依然可以與之前的啟動類功能對等:
@Configuration @EnableAutoConfiguration @ComponentScan public class RestDemoApplication { public static void main(String[] args) { SpringApplication.run(RestDemoApplication.class, args); } }
但每次都寫三個Annotation顯然過於頻繁,所以寫一個@SpringBoot-Application這樣的一站式複合Annotation顯然更方便些。
有對@Configuration、@EnableAutoConfiguration、@ComponentScan感興趣的小夥伴可以幫小編點個贊,加個關注不迷路
持續更新