mica-auto 2.1.1 发布,Spring boot stater 开发神器
一、简介
mica-auto 是 Spring cloud 微服务框架 Mica
中的一个基础组件,用来生成 Spring boot starter
的一些基础配置。仅仅编译级别即可 maven、gradle 编译时会自动处理生成所需的配置。
二、初衷
在开发和维护大量 Spring boot stater 时我们需要添加 spring.factories 配置,偶尔忘记 添加和删减 spring.factories
配置中的类会导致微服务启动失败。为了减少失误和人工介入故开发了 mica-auto
,在 2019年1月12日开源 0.0.1
版本,之后在 mica 和 pig 团队的多个 stater 组件中使用。
三、功能
-
生成
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 |
@AutoConfigImportFilter | AutoConfigurationImportFilter |
@AutoTemplateProvider | TemplateAvailabilityProvider |
@AutoEnableCircuitBreaker | EnableCircuitBreaker |
@AutoConfigDataLocationResolver | ConfigDataLocationResolver |
@AutoConfigDataLoader | ConfigDataLoader |
@AutoDatabaseInitializerDetector | DatabaseInitializerDetector |
@AutoDependsOnDatabaseInitializationDetector | DependsOnDatabaseInitializationDetector |
@Component | EnableAutoConfiguration |
@AutoIgnore | 忽略,不生成到 spring.factories |
@AutoService | java Spi 生成配置 |
四、变更记录
-
✨ 添加 DatabaseInitializer 相关支持
-
✨ 优化 jar manifest
-
✅ Adding google compile-testing.
-
⬆️ 升级 Spring boot 到 2.5.2
五、使用
注意: 如果你项目中使用了 Lombok
请将 mica-auto
的依赖放置到 Lombok
后面。
5.1 maven
<dependency> <groupId>net.dreamlu</groupId> <artifactId>mica-auto</artifactId> <version>2.1.1</version> <scope>provided</scope> </dependency>
5.2 gradle >= 5.x
annotationProcessor("net.dreamlu:mica-auto:2.1.1")
5.3 gradle < 5.x
compileOnly "net.dreamlu:mica-auto:2.1.1"
5.4 java spi 示例:
-
添加注解 @AutoService 指定 spi 接口 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
六、使用场景
-
Spring boot starter 开发利器,自动生成 spring.factories、spring-devtools.properties 配置。
-
多模块项目中的子项目,包名不同时的自动配置(主项目不建议添加)。
-
java spi 扩展自动生成配置。
关注如梦技术码云:https://gitee.com/596392912 ,更多微服务核心组件值得拥有。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Rainbond 5.3.1 发布,支持 100+ 组件的超大应用一键交付
Rainbond 5.3.1 正式发布。 Rainbond 是云原生且易用的应用管理平台。云原生应用交付的最佳实践。专注于以应用为中心的理念,赋能企业搭建云原生开发云、云原生交付云。 对于企业: Rainbond 是开箱即用的云原生平台,借助 Rainbond 可以快速完成企业研发和交付体系的云原生转型。 对于开发者: 基于 Rainbond 开发、测试和运维企业业务应用,开箱即用的获得全方位的云原生技术能力。包括但不仅限于持续集成、服务治理、架构支撑、多维度应用观测、流量管理。 对于项目交付: 基于 Rainbond 搭建产品版本化管理体系,搭建标准化客户交付环境,使传统的交付流程可以自动化、简单化和可管理。 近一年,使用Rainbond 云原生应用交付流程(见下图)的开源用户成为主流,面对不同用户的业务复杂性,对Rainbond交付流程的性能提出了新的要求。从 5.3.0 版本发布以来4个月的时间,Rainbond 开发者以交付链路的性能优化为主要迭代方向。 在工业互联网、智慧园区建设、智慧城市建设等等领域中,一个应用解决方案大多具有50-100个服务组件。在这些行业中,通常会有多...
- 下一篇
Sentinel 1.8.2 发布,高可用流量防护组件
Sentinel是阿里巴巴开源的,面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从流量控制、流量整形、依赖隔离、熔断降级、系统自适应保护等多个维度来帮助开发者保障微服务的稳定性。Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀、冷启动、消息削峰填谷、集群流量控制、实时熔断下游不可用服务等,是保障微服务高可用的利器,原生支持 Java/Go/C++ 等多种语言,并且提供 Istio/Envoy/MOSN 全局流控支持来为 Service Mesh 提供高可用防护的能力。 本周Sentinel 1.8.2正式发布,带来了多项特性和改进。主要变更如下: 完善 TimeUtil 在不同流量大小情况下的性能,低峰期可降低 CPU 占用 (#1746) @SentinelResource注解的 blockHandler/fallback/defaultFallback 现在支持 private-level 函数 (#2163) 新增sentinel-transport-spring-mvc模块,支持直接将 Spring Web 作为 command c...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Docker安装Oracle12C,快速搭建Oracle学习环境