mica-autospring boot stater 开发利器
mica-auto spring boot stater 开发利器
mica-auto 是 Spring cloud 微服务框架 Mica 中的一个基础组件,用来生成 Spring boot 的一些基础配置。
功能
-
生成
spring.factories -
生成
spring-devtools.properties -
生成
FeignClient到spring.factories中,供mica中完成Feign自动化配置。
使用
注意: 如果你项目中使用了 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,自动生成相应的配置。
初衷
在编写 Spring boot 相关插件的时候经常需要编写和修改 spring.factories 文件,其中有一次忘记修改,导致服务启动报错。想到编译期间自动生成这种配置。
| 注解 | 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 生成配置 |
开源协议
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
评论
