一、簡介
mica-auto 是 Spring cloud 微服務架構 Mica 中的一個基礎元件,用來生成 Spring boot starter 的一些基礎配置。
二、功能
- 生成 spring.factories。
- 生成 spring-devtools.properties
- 生成 FeignClient 到 spring.factories 中,供 mica-cloud 中完成 Feign 自動化配置。
- 生成 java Spi 配置,需要添加 [@AutoService ]() 注解。
注解 | spring.factories 或 Spi key |
---|---|
@AutoContextInitializer | ApplicationContextInitializer |
@AutoListener | ApplicationListener |
@AutoRunListener | SpringApplicationRunListener |
@AutoEnvPostProcessor | EnvironmentPostProcessor |
@AutoFailureAnalyzer | FailureAnalyzer |
@Component | EnableAutoConfiguration |
@AutoService | java Spi 生成配置 |
三、變更記錄
- 添加對 spring boot
的支援。SpringApplicationRunListener
-
EnvironmentPostProcessor
- Spring boot 更新到
。2.2.6.RELEASE
四、使用
注意
: 如果你項目中使用了 Lombok 請将 mica-auto 的依賴放置到 Lombok 後面。
maven
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-auto</artifactId>
<version>1.2.1</version>
<scope>provided</scope>
</dependency>
gradle >= 5.x
annotationProcessor("net.dreamlu:mica-auto:1.2.1")
gradle < 5.x
compileOnly "net.dreamlu:mica-auto:1.2.1"
java spi 示例:
- 添加注解
指定 spi 接口@AutoService
Processor.class
package foo.bar;
import javax.annotation.processing.Processor;
@AutoService(Processor.class)
public class MyProcessor implements Processor {
// …
}
AutoService
将會自動生成 spi 的配置檔案
META-INF/services/javax.annotation.processing.Processor
。内容:
foo.bar.MyProcessor
5、使用場景
- Spring boot starter 開發利器,自動生成 spring.factories、spring-devtools.properties 配置。
- 多子產品項目中的子項目,包名不同時的自動配置(主項目不建議添加)。
- java spi 擴充自動生成配置。
建議關注如夢技術碼雲:
https://gitee.com/596392912,更多微服務核心元件值得擁有。