今天在学习项目的时候,遇到一个小问题,先记录下来。
@Mapper 和 @MapperScan 的效果是一样的
- @Mapper 加到对应的接口上
- @MapperScan 则通常在一个单独的配置类中,在这个类中使用@MapperScan声明要扫描的 mapper 接口。
- 也就是说,这两个效果是等价的,@MapperScan 的范围更大
注意这里,在使用了 @MapperScan 之后,@Mapper 注解就会失效,相当于没有加,如果在 @MapperScan 扫描路径之外的地方 使用了@Mapper ,这个@Mapper也会失效
如图:
启动之后,显示这个错误
这就是使用了 @MapperScan之后,相当于所有的 @Mapper 注解就失效了,而 mapper2 这个包,不在扫描路径里,所以就会报错