栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

区分@Repository和@Mapper

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

区分@Repository和@Mapper

在spring中学习注解开发的时候,学过在Spring配置文件中配置注解支持后,如下:

 

再使用@Component注解,可以创建一个类的Bean并存在spring容器中
由@Component衍生出来的一些注解

  • dao层 @Repository
  • service层 @Service
  • servlet层 @Controller

用在特定层,以在项目开发中区分不同层级


后来,学习了纯注解开发的springboot后,发现在dao层出现了一个新的注解@Mapper,有时候有它没有@Repository,有时候没它有@Repository

他们有什么区别呢?
@Mapper注解的作用:生成mapper接口的实现类,创建实现类的对象并交由spring容器管理
@Repository注解的作用:创建mapper接口实现类的对象并交由spring容器管理

所以,注册mapper的两种方式,如下

  1. Springboot项目的启动类上面添加@MapperScan(扫描的包路径)注解,该注解作用–扫描并实现mapper接口
    这个注解和@Repository注解一起使用来注册mapper
  2. @Mapper注解可以单独使用来注册mapper

注册mapper以后,mapper接口类的xml映射文件去哪找?

在SpringBoot配置文件中配置 mybatis.mapper-locations,作用是扫描注册Mapper接口对应的XML文件
XML文件中的namespace指定了对应的mapper接口

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/274816.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号