关于java:注意Spring-Boot-27开始springfactories不推荐使用了接下来这么玩

2次阅读

共计 1044 个字符,预计需要花费 3 分钟才能阅读完成。

如果你是 Spring Boot 用户的话,肯定有这样的开发体验,当咱们要引入某个性能的时候,只须要在 maven 或 gradle 的配置中间接引入对应的 Starter,马上就能够应用了,而不须要像传统 Spring 利用那样写个 xml 或 java 配置类来初始化各种 Bean。

如果你有摸索过这些 Starter 的原理,那你肯定晓得 Spring Boot 并没有毁灭这些本来你要配置的 Bean,而是将这些 Bean 做成了一些默认的配置类,同时利用 /META-INF/spring.factories 这个文件来指定要加载的默认配置。

这样当 Spring Boot 利用启动的时候,就会依据引入的各种 Starter 中的 /META-INF/spring.factories 文件所指定的配置类去加载 Bean。

而这次刚公布的 Spring Boot 2.7 中,有一个不举荐应用的内容就是对于这个 /META-INF/spring.factories 文件的,所以对于有自定义 Starter 的开发者来说,有工夫要放松把这一变动改起来了,因为在 Spring Boot 3 开始将移除对 /META-INF/spring.factories 的反对。

那么具体怎么改呢?上面以之前咱们编写的一个 swagger 的 starter 为例,它的 /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 技术交换群,参加交换与探讨,更好的学习与提高!更多 Spring Boot 教程能够点击中转!,欢送珍藏与转发反对!

欢送关注我的公众号:程序猿 DD。第一工夫理解前沿行业音讯、分享深度技术干货、获取优质学习资源

正文完
 0