当前位置: 首页 > 后端技术 > Java

注意:从SpringBoot2.7开始不推荐使用spring.factories,这样玩吧……

时间:2023-04-01 14:28:05 Java

如果你是SpringBoot用户,想必有这样的开发经验吧。当我们要引入某个功能时,只需要在maven或者gradle的配置中直接引入对应的Starter,马上就可以使用,而不需要像传统的Spring应用那样写一个xml或者java配置类来初始化各种bean.如果你探索过这些Starters的原理,你一定知道SpringBoot并没有淘汰你原本要配置的bean,而是将这些bean做成了一些默认的配置类,同时使用/META-INF/spring.factories文件来指定要加载的默认配置。这样,当SpringBoot应用程序启动时,就会根据引入的各种Starters中/META-INF/spring.factories文件中指定的配置类来加载Bean。在这次刚刚发布的SpringBoot2.7中,关于这个/META-INF/spring有一个不推荐使用的内容。由于从SpringBoot3开始将删除对/META-INF/spring.factories的支持,因此已经进行了更改。那么如何更改它呢?我们以之前写的swaggerstarter为例。它的/META-INF/spring.factories内容是这样的:org.springframework.boot.autoconfigure.EnableAutoConfiguration=\com.spring4all.swagger.SwaggerAutoConfiguration我们只需要新建一个文件:/META-INF/spring/org。springframework.boot.autoconfigure.AutoConfiguration.imports,内容只需要直接放在配置类中即可,例如:com.spring4all.swagger.SwaggerAutoConfiguration注意:这里多了一个spring目录的创建。如果觉得这样维护起来太麻烦,也可以使用mica-auto让它自动生成。有关如何使用它的详细信息,请参阅之前发布的这篇文章。如果你在学习过程中遇到困难?可以加入我们超优质的Spring技术交流群,参与交流讨论,更好的学习进步!更多SpringBoot教程可直接点击!,欢迎收藏和转发支持!欢迎来到我的公众号:程序员DD。第一时间了解行业前沿资讯,分享深度技术干货,获取优质学习资源