简单介绍【spring.factories】的使用

*`starter`的使用在`springboot`项目中可以说是非常常见,可能有些朋友在使用`springboot`项目的时候只是在网络上找了一篇如何创建一个springboot,如何又和`mybatis`或`mybatis-plus`集成,然后又引入缓存机制`redis`,消息队列`rabbitmq`等等,感觉很好用,只需要pom文件中引入相应的依赖就可以了,其他的都不需要管,确实是这样,可能在很长一段时间都在以这样的方式写项目。但你就没有想过jar的路径都不一样,项目中是如何做到无缝连接的嘛
摘要由CSDN通过智能技术生成
前言

starter的使用在springboot项目中可以说是非常常见,可能有些朋友在使用springboot项目的时候只是在网络上找了一篇如何创建一个springboot,如何又和mybatismybatis-plus集成,然后又引入缓存机制redis,消息队列rabbitmq等等,感觉很好用,只需要pom文件中引入相应的依赖就可以了,其他的都不需要管,确实是这样,可能在很长一段时间都在以这样的方式写项目,但久而久之,你可能会在某一次项目中遇到这样一种情况,让你自己写一个工具包可以在另一个环境中集成,这其实很简单,大家都会写这样的工具包。那工具包要求使用springboot,数据库操作使用mybatis-plus,这种情况下,是否有办法来解决呢。我们都知道一个完整的springboot+mybatis-plus的项目都是事先约定好需要扫描的文件以及mybatis-plus需要扫描的xml路径的,我自己搞了一个springboot+mybatis-plus的项目要提供给另一个同样使用springboot框的使用,别人的包路径和我的基本可以确定是不一样的,人家确定了包的扫描,那也只是针对他的项目,我的项目不是那么扫描的,那不就没办法扫描到我的service,mapper了嘛,那别人调用我的项目能使用嘛,显然是不能使用的,情况严重可能连别人的项目都启动不了了。难道没办法解决这种问题了吗,当然不是啦,如果不能处理这种情况,那我们是怎么将mybatis-plus整合到springboot的呢,其实就是在pom文件里边引入mybatis-plus-boot-starter的依赖包就可以了。

一、简单介绍一下mybatis-plus被成功装载的过程

  • mybatis-plus能被spring管理起来主要是项目启动类的联合注解@SpringBootApplication有一个自动装配的注解@EnableAutoConfiguration,只要有这个注解项目在启动的时候就会在引入的jar中找是否存在spring.factories的配置文件,如果找到此配置文件,将会根据此配置文件找到对应的配置类,处理jar内部需要提取的配置信息以及将需要加载到的component交给spring管理
  • 下边是spring.factories和对应的配置信息
    在这里插入图片描述
  • spring.factories配置文件指定的都是mybatis-plus独有的配置,里边对应的配置类将会处理所有需要加载的信息,所以我们自己创建的starter也需要按照这样的步骤来创建
  • 下边是MybatisPlusAutoConfiguration.class
    在这里插入图片描述
  • 要成功被主程序加载到,starter
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值