mica-auto 是 Springcloud 微服务框架 Mica 中的一个基础组件,用来生成 Springboot 的一些基础配置。
功能生成 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.xannotationProcessor("net.dreamlu:mica-auto:2.0.3")gradle<5.xcompileOnly "net.dreamlu:mica-auto:2.0.3"原理扫描 @Configuration,自动生成相应的配置。
初衷在编写 Springboot相关插件的时候经常需要编写和修改spring.factories 文件,其中有一次忘记修改,导致服务启动报错。想到编译期间自动生成这种配置。
注解spring.factories或Spikey@AutoContextInitializerApplicationContextInitializer@AutoListenerApplicationListener@AutoRunListenerSpringApplicationRunListener@AutoEnvPostProcessorEnvironmentPostProcessor@AutoFailureAnalyzerFailureAnalyzer@AutoConfigImportFilterAutoConfigurationImportFilter@AutoTemplateProviderTemplateAvailabilityProvider@AutoEnableCircuitBreakerEnableCircuitBreaker@AutoConfigDataLocationResolverConfigDataLocationResolver@AutoConfigDataLoaderConfigDataLoader@ComponentEnableAutoConfiguration@AutoIgnore忽略,不生成到spring.factories@AutoServicejavaSpi生成配置开源协议LGPL(GNULesserGeneralPublicLicense)
参考GoogleAuto: https://github.com/google/auto
Spring5-spring-context-indexer:https://github.com/spring-projects/spring-framework/tree/master/spring-context-indexer
评论