0
点赞
收藏
分享

微信扫一扫

不管是spring.factories还是最新的imports文件,这个神器帮你全自动生成!

昨晚我们讲了​​Spring Boot 2.7开始不再推荐使用spring.factories​​了,今天早上公众号(程序猿DD)上也推了,然后收到了不少反馈。其中有个网友说:要维护两个文件,太麻烦了。

不管是spring.factories还是最新的imports文件,这个神器帮你全自动生成!_maven

作为一名优秀的程序员,当觉得麻烦的时候,第一反应就是要想办法偷懒!

所以,今天就给大家讲讲怎么样轻松的维护这两个文件!

视频版教程如下:

开源项目: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.dreamlugroupId>
<artifactId>mica-autoartifactId>
<version>2.3.0version>
<scope>providedscope>
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();
}

}

完成上面配置之后,重新编译马上就可以看到文件生成成功了:

不管是spring.factories还是最新的imports文件,这个神器帮你全自动生成!_spring boot_02


举报

相关推荐

0 条评论