• 注意:Spring Boot 2.7开始spring.factories不推荐使用了,接下来这么玩...


    如果你是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
    • 1

    我们只需要创建一个新的文件:/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports,内容的话只需要直接放配置类就可以了,比如这样:

    com.spring4all.swagger.SwaggerAutoConfiguration

      注意:这里多了一级spring目录。

      如果你觉得维护这个太麻烦的话,还可以使用mica-auto来让他自动生成,具体怎么用可以看之前发的这篇文章

      如果您学习过程中如遇困难?可以加入我们超高质量的Spring技术交流群,参与交流与讨论,更好的学习与进步!更多Spring Boot教程可以点击直达!,欢迎收藏与转发支持!

      欢迎关注我的公众号:程序猿DD。前沿技术早知道,弯道超车有希望!积累超车资本,从关注DD开始!

    • 相关阅读:
      Git(七).git 文件夹瘦身,GitLab 永久删除文件
      Rancher清理节点
      多进程编程(五):信号量
      Docker+consul实现容器服务的发现和更新
      面试必备杀技:SQL查询专项训练!
      240. 搜索二维矩阵 II
      Serverless 时代下微服务应用全托管解决方案
      操作系统——信号
      C++:继承、继承对象模型、多继承、菱形继承 、虚继承的实现
      安全手册:一站式知识和工具集 | 开源日报 0902
    • 原文地址:https://blog.csdn.net/dyc87112/article/details/124969130