mica-auto
原理爲採用Annotation Processor
註解處理技術,編譯期間自動生成 Spring boot starter
的一些基礎配置。在 Spring cloud
微服務核心組件 Mica
(雲母)以及 pig
,Springblade
中大量使用。spring
•將標記有或者組合有 @Component
的註解類生成到 spring.factories
中。•生成 spring-devtools.properties
。•組合 spring-boot-configuration-processor
和 spring-boot-autoconfigure-processor
避免項目中引入過多依賴。•生成 @FeignClient
的接口到 spring.factories 中,供 mica 中完成 Feign 自動化配置。maven
•添加 @AutoContextInitializer
支持 org.springframework.context.ApplicationContextInitializer
。•添加 @AutoListener
支持 org.springframework.context.ApplicationListener
。•添加 @AutoFailureAnalyzer
支持 org.springframework.boot.diagnostics.FailureAnalyzer
。ide
•升級 gradle
到 5.4.1
。•升級 google auto
到 1.0-rc5
。•升級 lombok
到 1.18.8
,•升級 Spring Boot
到 2.1.5.RELEASE
。spring-boot
注意:
若是你項目中使用了 Lombok
請將 mica-auto
的依賴放置到 Lombok
後面。微服務
<dependency> <groupId>net.dreamlu</groupId> <artifactId>mica-auto</artifactId> <version>1.1.0</version> <scope>provided</scope></dependency>
annotationProcessor("net.dreamlu:mica-auto:1.1.0")
compileOnly "net.dreamlu:mica-auto:1.1.0"
主要是用來避免 Spring boot 主項目
包和子項目、子模塊
包不一致,避免類掃描不到的問題。gradle
1.自定義 spring boot starter。2.多模塊項目中的子項目(主項目不建議添加)。google