如果你是 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。第一工夫理解前沿行业音讯、分享深度技术干货、获取优质学习资源