SpringBoot中@Mapper与@MapperScan注解使用情况

@Mapper与@MapperScan的使用

一般SpringBoot中注入dao的方式就是如下俩种:

  • 给每个dao接口上都加上@Mapper,它就会将mapper自动注入进spring容器。
  • 在主启动类上加入@MapperScan,指定要扫描(dao接口)包的路径。

但是最近在公司偶然间发现了一个很奇怪的现象,项目好多dao接口都没加@Mapper注解,并且主启动类上没有加@MapperScan注解来指定要扫描包的路径,但是项目启动就是不会报错。问了好多前辈,都说SpringBoot中不需要加这个注解,主启动类上@SpringBootApplication中包含的@ComponentScan会自动扫描dao接口,给我整懵逼了。带着质疑,自己又做了一次测试,压根就不是这一回事,照样报错。
后来偶然发现MybatisPlus的分页配置文件中加了@MapperScan注解,这才明白了,项目为啥不会报错了。

这就引申出来了注入dao接口的另一个方式

  • 在MybatisPlus的配置文件中加入@MapperScan注解,指定要扫描(dao接口)包的路径。

还是自己太年轻、太菜了,

你可能感兴趣的:(springboot,spring,boot,java)