mica-autospring boot stater 開發(fā)利器
mica-auto spring boot stater 開發(fā)利器
mica-auto 是 Spring cloud 微服務(wù)框架 Mica 中的一個(gè)基礎(chǔ)組件,用來生成 Spring boot 的一些基礎(chǔ)配置。
功能
-
生成
spring.factories -
生成
spring-devtools.properties -
生成
FeignClient到spring.factories中,供mica中完成Feign自動化配置。
使用
注意: 如果你項(xiàng)目中使用了 Lombok 請將 mica-auto 的依賴放置到 Lombok 后面。
maven
<dependency> <groupId>net.dreamlu</groupId> <artifactId>mica-auto</artifactId> <version>2.0.3</version> <scope>provided</scope> </dependency>
gradle >= 5.x
annotationProcessor("net.dreamlu:mica-auto:2.0.3")
gradle < 5.x
compileOnly "net.dreamlu:mica-auto:2.0.3"
原理
掃描 @Configuration,自動生成相應(yīng)的配置。
初衷
在編寫 Spring boot 相關(guān)插件的時(shí)候經(jīng)常需要編寫和修改 spring.factories 文件,其中有一次忘記修改,導(dǎo)致服務(wù)啟動報(bào)錯(cuò)。想到編譯期間自動生成這種配置。
| 注解 | spring.factories 或 Spi key |
|---|---|
| @AutoContextInitializer | ApplicationContextInitializer |
| @AutoListener | ApplicationListener |
| @AutoRunListener | SpringApplicationRunListener |
| @AutoEnvPostProcessor | EnvironmentPostProcessor |
| @AutoFailureAnalyzer | FailureAnalyzer |
| @AutoConfigImportFilter | AutoConfigurationImportFilter |
| @AutoTemplateProvider | TemplateAvailabilityProvider |
| @AutoEnableCircuitBreaker | EnableCircuitBreaker |
| @AutoConfigDataLocationResolver | ConfigDataLocationResolver |
| @AutoConfigDataLoader | ConfigDataLoader |
| @Component | EnableAutoConfiguration |
| @AutoIgnore | 忽略,不生成到 spring.factories |
| @AutoService | java Spi 生成配置 |
開源協(xié)議
LGPL(GNU Lesser General Public License)
參考
Google Auto: https://github.com/google/auto
Spring 5 - spring-context-indexer:https://github.com/spring-projects/spring-framework/tree/master/spring-context-indexer
評論
圖片
表情
