spring配置-mybatis的mapper接口动态代理生成实现类并注入

  • 使用mybaitis的mapper接口执行sql语句时,我们拿到其实是接口实现类的代理,这个代理类是由mybatis使用动态代理生成的接口实现类。
  • mybatis通过配置 MapperFactoryBean来生成Mapper接口的代理。如:
"userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
  "mapperInterface" value="com.example.mapper.UserMapper" />
  
  "sqlSessionFactory" ref="sqlSessionFactory" />

上面这种配置的缺点是为每一个mapper接口都要加入配置,因此有了使用MapperScannerConfigurer,它会将包下的每个mapper接口都自动创建MapperFactoryBean,无需自己单独添加,MapperScannerConfigurer的配置如下:

"org.mybatis.spring.mapper.MapperScannerConfigurer">
  "basePackage" value="com.example.mapper" />
  
  "sqlSessionFactoryBeanName" value="sqlSessionFactory" />

下面是一个更简单的配置

package="com.example.mapper"/>

spring整合时的配置越来越简单,但是需要了解每个配置的原理

你可能感兴趣的:(spring框架整合)