MyBatis-Spring MapperScannerConfigurer
1. MapperScannerConfigurer 作用
MapperScannerConfigurer 是为了解决 MapperFactoryBean 繁琐而生的,有了 MapperScannerConfigurer 就不需要我们去为每个映射接口去声明一个bean了。提高了开发的效率。
2. MapperScannerConfigurer 源码的配置主要属性
basePackage:这个属性就是映射接口的包,这个包里面的所有的接口扫描到。
sqlSessionFactory:这个属性通过自动装配的属性,而不需要我们去配置这个属性(如果配置了这个属性会出问题,后面给图)。
sqlSessionFactoryBeanName:为了将我们的 sqlSessionFactory 注入给它这个类。
annotationClass:自定义一个注解加大排除我们所需要的Mapper接口,(ps:首先我们扫描这个包可能有不需要映射的接口,那我们就可以通过注解(自定义的注解)的方式选出我们所需要的,没加注解的就不是这个类所需要的)。
示例 1:
/* 定义MyBatis的映射扫描, 等同于<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> */ @Bean public MapperScannerConfigurer getMapperScannerConfigurer(){ MapperScannerConfigurer msc = new MapperScannerConfigurer(); //等同于<property name="basePackage" value="com.itheima.dao"/> msc.setBasePackage("com.itheima.mapper"); // "com.itheima.mapper" 这个包里面的所有的接口扫描到 return msc; }
Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring。
可以使用一个 MapperScannerConfigurer , 它将会查找类路径下的映射器并自动将它们创建成 MapperFactoryBean。
在 MyBatis-Spring 中提供了一个转换器 MapperScannerConfig 它可以将接口转换为Spring容器中的Bean
mybatis-spring提供了 MapperScannerConfigurer 这个类,它将会查找类路径下的映射器并自动将它们创建成 MapperFactoryBean。
MapperScannerConfigurer 是 spring和mybatis 整合的 mybatis-spring 的jar包中提供的一个类。
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="org.mybatis.spring.sample.mapper" /> </bean>
这段配置会扫描 org.mybatis.spring.sample.mapper 下的所有接口,然后创建各自接口的动态代理类。这样,Service就可以注入dao的实例了。
MapperFactoryBean
REF
https://blog.csdn.net/qq_40863603/article/details/86070139
https://www.cnblogs.com/yangj-Blog/p/12991861.html
https://vimsky.com/examples/detail/java-class-tk.mybatis.spring.mapper.MapperScannerConfigurer.html
https://blog.csdn.net/weixin_30871701/article/details/95013149
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY