Spring Boot Starter配置spring.factories的自动生成神器:mica-auto
昨晚我们讲了 Spring Boot 2.7开始不再推荐使用spring.factories了 ,今天早上公众号(程序猿DD)上也推了,然后收到了不少反馈。其中有个网友说:要维护两个文件,太麻烦了。
作为一名优秀的程序员,当觉得麻烦的时候,第一反应就是要想办法偷懒!
所以,今天就给大家讲讲怎么样轻松的维护这两个文件!
开源项目:mica-auto
为了解决维护麻烦的问题,这里要给大家推荐一个开源项目: mica-auto 。不要看Star不多,DD用下来感觉还是非常好的。
- GitHub地址: https://github.com/lets-mica/mica-auto
该项目的实现原理与Lombok类似,利用Java 6就开始支持的Annotation Processor,在编译期扫描注解和处理注解。这里mica-auto的主要解决问题是为Spring Boot自动生成 spring.factories
、 spring-devtools.properties
配置。
目前最新的2.3版本也支持Spring Boot 2.7之后推荐使用的 org.springframework.boot.autoconfigure.AutoConfiguration.imports
配置文件的自动生成。
使用mica-auto
下面以我自己的项目为例,看看怎么一步步整合:
第1步:pom.xml中加入依赖(注意,如果有lombok的话,要放到lombok后面)
<dependency> <groupId>net.dreamlu</groupId> <artifactId>mica-auto</artifactId> <version>2.3.0</version> <scope>provided</scope> </dependency>
第2步:替换一些老的自动化配置注解,比如,我这里用 @AutoConfiguration
替换了老的 @Configuration
,这样才能正常的生成出 org.springframework.boot.autoconfigure.AutoConfiguration.imports
配置,不然用老的配置注解的话,只会自动生成 spring.factories
@AutoConfiguration @EnableConfigurationProperties(SwaggerProperties.class) @ConditionalOnProperty(value = "springfox.documentation.enabled", havingValue = "true", matchIfMissing = true) @Import({SwaggerUiConfiguration.class, SwaggerAuthorizationConfiguration.class, DocketConfiguration.class}) public class SwaggerAutoConfiguration { @Bean public DocketBeanFactoryPostProcessor docketBeanFactoryPostProcessor() { return new DocketBeanFactoryPostProcessor(); } }
完成上面配置之后,重新编译马上就可以看到文件生成成功了:
本期视频: https://www.bilibili.com/video/BV19v4y1A7T1/
如果您学习过程中如遇困难?可以加入我们超高质量的Spring技术交流群,参与交流与讨论,更好的学习与进步!更多 Spring Boot教程可以点击直达! ,欢迎收藏与转发支持!
- 淘宝惊现GitHub“爱国套餐”,其实是刷Star
- 求求你们,别再刷 Star 了!这跟“爱国”没关系!
- 重磅!Spring Cloud 生态再添新套件:Spring Cloud Tencent
- 免申请直接用上 IDEA 新 UI,只需要这三步配置
- 如何设置IntelliJ IDEA的内存和启动参数
- spring-configuration-metadata.json文件是做啥的?
- JetBrains IDE全新UI预览版来了,要做简洁与强大兼顾的IDE
- 注意:Spring Boot 2.7开始spring.factories不推荐使用了,接下来这么玩...
- Spring Boot整合Swagger时PatternsRequestCondition.getPatterns()报错:"this.condition" is null
- Spring Boot Starter配置spring.factories的自动生成神器:mica-auto
- Stream.toList()和Collectors.toList()的性能比较
- Java Stream转List的几种方法
- Java中如何快捷的创建不可变集合
- 一文学会Java的交互式编程环境jshell
- Gitee仓库开源要审核为什么被喷?
- Java 15 新特性:隐藏类
- Java 17 新特性:switch的模式匹配(Preview)
- Java 16 新特性:record类
- PyScript:让Python在HTML中运行
- Java 14中对switch的增强,终于可以不写break了