@MapperScan注解与@Mapper注解使用
@Mapper一般对应一个接口,相当于一个mapper.xml文件,它的作用就是将接口生成一个动态代理类。
当我们写的mapper接口比较多的时候,我们没必须花太多时间一个一个的写,这样写太麻烦了,我们可以使用@ManpperScan注解,指明要扫描的包,它可以扫描所有的mapper文件。
它是如何做到的,我们可以查看里面的源码,主要起作用的就是里面的@Import注解
感兴趣的可以继续查看MapperScannerRgiatrar的源码,主要看registerBeanDefinitions这个方法,你就会豁然开朗。
MapperScan注解和@Mapper的区别
如下所述:
最早我们在mapper接口上添加@Mapper,通过xml文件下的namespace命名空间自动注入bean,这种方式要求每一个mapper类都需要添加此注解,比较麻烦;
我们可以在启动类上添加@MapperScan(“Mapper类的包的路径”)这个注解,来对mapper包进行扫描,从而使得mapper层中的接口可以不使用@Mapper注解;
同时,使用@MapperScan注解多个包。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。