简化依赖注入
注入映射器
- MapperFactoryBean
单个映射器配置,MapperFactoryBean是SqlSessionDaoSupport的子类,表明是通过setSqlSessionFactory()注入SqlSessionFactory实例,使用getSqlSession()返回SqlSessionTemplate实例。
<bean id="usermapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="cn.smbms.dao.user.UserMapper"/>
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
相较于前一篇的配置,这里可以省略相应的接口实现类和SqlSessionTemplate
- MapperScannerConfigurer
<bean class="org.mybatis.spring.maper.MapperScannerConfiguree">
<property name="basePackage" value="cn.smbms.dao"/>
</bean>
扫描目录下的接口,如果相应的sql映射文件(文件名.xml)定义过了则将它们动态注册为MapperFactoryBean
小结
这两种注入映射器的方法核心思想,就是通过MapperFactoryBean实例来省略实现类和sqlSessionTemplate的操作
(在MapperFactoryBean配置文件中由两个参数—mapperInterface和sqlSessionFactory,mapperInterface对应的是相应的接口,sqlSessionFactory对应的是配置好的sqlSessionFactory,通过这两个参数生成相应的实现类)