@mapper与@mpperscan和@Repository的区别

@mapper与@mpperscan和@Repository的区别

@mapper与@mpperscan和@Repository的区别

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小蓝 2022-10-09 10:41:39

同学你好~

1.@Mapper:@Mapper注解是由MyBatis框架中定义的数据层接口的注解,用于告诉Spring框架此接口的实现类由MyBatis负责创建,并将其实现类对象存储到spring容器中。但是需要注意的是,只是创建了对象,不会自动进行依赖的注入。

2.@Repository:@Repository注解是由Spring提供的数据层接口的注解,用于将实现类对象进行自动注入,通常要求数据层接口来生成该对象。(使用@Mapper或者使用mapper.xml配置文件)

3.@MapperScan:@MapperScan注解是由MyBatis框架中专门用于兼容Spring框架的注解。作用与@Mapper相同,不同的是,@MapperScan用于指定某个包路径,相当于在该包路径下的所有接口上都加入@Mapper注解。

祝学习愉快~

  • 提问者 程序员叶某 #1

    请问这句话“用于告诉Spring框架此接口的实现类由MyBatis负责创建,并将其实现类对象存储到spring容器中。

    意思是添加@mapper可以创建对象并添加到IOC容器中吗?


    这句话“但是需要注意的是,只是创建了对象,不会自动进行依赖的注入。

    能详细说明一下吗,不能理解

    2022-10-09 11:01:32
  • 好帮手慕小蓝 回复 提问者 程序员叶某 #2

    同学你好,Spring的IOC可以简单的理解为两个步骤:

    1.通过ApplicationContext工厂将对象进行创建;

    2.通过注解或者配置文件的形式,将对象注入到对应的变量中。

    其中,@Mapper注解完成的是上述第一步操作,仅将对象进行创建,而@Repository注解用于完成第二步,将对象注入到对应的变量中。

    祝学习愉快~

    2022-10-09 11:30:00
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师