Java篇-@Mapper、@Repository、@MapperScan、xml文件的相关问题

参考

mybatis-plus关于@Mapper、@Repository、@MapperScan、xml文件的相关问题_mybatisplus repository-CSDN博客

UserMapper上不加@Mapper,启动类上添加@MapperScan("com.atguigu"),就可以将指定包下的所有的mapper接口所动态生成的代理类交给IOC容器管理。需要注意的是idea提示注入问题,实际上可以正常运行,要是不想idea提示可以在UserMapper上加上@Repository注解。


在UserMapper接口上加上@Mapper表示被容器识别到,创建这个的代理类,这样就自动将代理类交给IOC容器管理。另外有了@Mapper就不需要@MapperScan("com.atguigu"),两者作用一样,@Mapper这并不是配置bean的含义,切勿混淆。


容易混淆的是:我们一般需要配置为bean,然后扫描才能使用它。这里我们只进行了扫描而没有去配置bean。我们这里使用的是自动代理,扫描也是扫描哪一个需要创建代理类,并不是扫描bean,故不需要配置bean。


说明:springboot设置了自动扫描的包,会扫描到@Mapper的类,创建这个的代理类,这样就自动将代理类交给IOC容器管理。


如果不加@Mapper就需要在启动类上添加@MapperScan("com.atguigu")就可以将指定包下的所有的mapper接口所动态生成的代理类交给IOC容器管理。


@Repository那是基于代码的开发,简单来说就是手写 JDBC,在dao的impl中使用注入bean的方式,使用@Repository配置了bean在spring中需要设置扫描,在springboot中不需要额外设置扫描。
 

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值