Mybatis中 mapper-locations和@MapperScan的作用
SpringBoot集成Mybatis时mybatis.mapper-locations和@MapperScan的作用
1、mybatis.mapper-locations的作用
mybatis.mapper-locations在SpringBoot配置文件中使用,作用是扫描Mapper接口对应的XML文件,如图中所示:扫描的是resources下的mapper文件夹中所有的xml结尾的文件。 _注:如果全程使用@Mapper注解,可以不使用该配置,即@Mapper可以替代Mapper接口对应的.xml文件,SpringBoot提倡“约定优于配置”。_*

我们可以点进去,可以看到是@ConfigurationProperties修饰的类,它的作用是将配置文件中的属性映射到对象中

此处是会将配置文件中以mybatis前缀的属性映射到对应字段上,即将mybatis.mapper-locations通过set方法映射到MapperLocations属性上


2、@MapperScan的作用
@MapperScan写在SpringBoot的启动类上(xxxApplication.java),作用是扫描Mapper接口类。

点进去可以看到@MapperScan会注册BeanDefinition到BeanFactory中,即生成接口对应的实现类。具体怎么实现不在此处赘述,有兴趣可以自行查看源码

@Retention作用是定义被它所注解的注解保留多久 @Target表明注解的作用目标 Documented注解表明这个注解应该被 javadoc工具记录 @Import注解就是之前xml配置中的import标签,可以用于依赖第三方包中bean的配置和加载 @Repeatable注解表明标记的注解可以多次应用于相同的声明或类型
总结:
1、mybatis.mapper-locations在SpringBoot配置文件中使用,作用是扫描Mapper接口对应的XML文件
2、@MapperScan会扫描Mapper接口类,并生成对应的实现类。
到此这篇关于Mybatis中 mapper-locations和@MapperScan的作用的文章就介绍到这了,更多相关 mapper-locations和@MapperScan详解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot项目启动时提示程序包不存在和找不到符号的处理方法
最近接手同事开发的一个Springboot工作项目,从svn上整体拉取下来后,构建完成后,启动的时候遇到了程序包找不到的情况,所以本文记录了SpringBoot项目启动时提示程序包不存在和找不到符号的处理方法,需要的朋友可以参考下2024-05-05
springboot docker jenkins 自动化部署并上传镜像的步骤详解
这篇文章主要介绍了springboot docker jenkins 自动化部署并上传镜像的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-05-05
Spring事务中@Transactional注解不生效的原因分析与解决
在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为什么事务不生效,并提供多种解决方案,希望对大家有所帮助2025-03-03


最新评论