使用MapperScannerConfigurer注入映射器

接着上篇博文,这篇使用MapperScannerConfigurer注入映射器

https://blog.****.net/qq_25634457/article/details/83022220

 

方法很简单,比如我们之前的provider表,这里可以直接使用

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" p:basePackage="cn.smbms.dao"/>

通过使用注解的方式来继续减少我们的配置文件编码量

<context:component-scan base-package="cn.smbms.service"/>

如图:

使用MapperScannerConfigurer注入映射器

其中:spring框架提供的MapperScannerConfigurer能够为我们扫描指定包中的接口并将其注册为MapperFactoryBean(点击查看具体实现和解释),

         通过MapperScannerConfigurer的属性basePackage属性指定我们的dao层接口。

我们通过<context:component-scan base-package=""/>配置扫描注解定义的业务Bean,还是以之前的provider为例,我的service层中的serviceImpl中添加如**解:

使用MapperScannerConfigurer注入映射器

通过@Service("providerService")标注业务Bean,通过@Autowired实现依赖注入,最后,测试类如下:

使用MapperScannerConfigurer注入映射器

运行结果如下:

使用MapperScannerConfigurer注入映射器

总结:

1.使用MapperScannerConfigurer需要通过basePackage指定扫描的基准点,可以通过value设置,也可使用p空间命名

2.使用<context:conponent-scan base-package=""/>配置扫描注解定义的业务Bean,直接指包即可,比如:cn.smbms.service