@MapperScan和@ComponentScan的区别

@MapperScan的用法:

@MapperScan是MyBatis-Spring集成中的一个注解,专门用于扫描和注册Mapper接口为Spring管理的bean。Mapper接口是MyBatis中用于定义SQL映射规则的接口,通过@Mapper注解标注。@MapperScan可以帮助Spring自动找到这些接口并将其注册为代理bean,从而在应用中可以方便地使用这些Mapper接口。

@MapperScan可以指定扫描的mapper包路径,然后将其注册成bean,此时对应的mapper包类下不需要加注解@Mapper,因为@MapperScan可以指定扫描的mapper包路径,然后将其注册成bean。

在这里插入图片描述
mapper包下的mapper类:

在这里插入图片描述

那什么时候需要加@Mapper注解呢?

  • 当启动类没有配置对应的@MapperScan注解时,需要在每个mapper包下的类添加@Mapper注解,且所在的mapper包必须在启动类所在的包及其子包下,因为 @SpringBootApplication注解里面有对应的@ComponentScan,它会扫描启动类所在的包及其子包中含有的@Mapper并将其注册成bean
  • @SpringBootApplication内如图所示:

在这里插入图片描述

@ComponentScan的用法:

@ComponentScan是Spring框架中的一个注解,用于自动扫描和注册带有特定注解的组件为Spring管理的bean。当一个类被@Component、@Service、@Repository或@Controller等注解标注时,Spring可以通过@ComponentScan自动检测到这些类,并将它们注册为bean。

两者区别:

  • @ComponentScan 是Spring框架的核心功能,用于扫描含有@Component、@Service、@Repository或@Controller等注解的类并将其注册。
  • @MapperScan 是MyBatis-Spring集成的一部分,专门用于扫描和注册MyBatis Mapper接口。
  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值