MapperScannerConfigurer
本文转自 http://hi.baidu.com/v5759107/blog/item/58d88ccc065de90d01e928c3.html
内容没有亲身调试,若有错误,欢迎留言,讨论
没有必要在Spring的XML配置文件中注册所有的映射器。相反,你可以使用一个MapperScannerConfigurer,它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBeans。要创建MapperScannerConfigurer,可以在Spring的配置中添加如下代码:
- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
- <propery name="basePackage" value="org.mybatis.spring.sample.mapper"/>
- </bean>
basePackage属性是让你为映射器接口文件设置基本的包路径。你可以使用分号或逗号作为分隔符设置多于一个的包路径。每个映射器将会在指定的包路径中递归地被搜索到。
注意,没有必要去指定SqlSessionFactory或SqlSessionTemplate,因为MapperScannerConfigurer将会创建MapperFactoryBean,之后自动装配。但是,如果你使用了一个以上的DataSource(因此,也是多个的SqlSessionFactory),那么自动装配可能会失效。这种情况下,你可以使用sqlSessionFactory或sqlSessionTemplate属性来设置正确的工厂/模板。
MapperScannerConfigurer支持过滤由指定的创建接口或注解创建映射器。annotationClass属性指定了要寻找的注解名称。markerInterface属性指定了要寻找的父接口。如果两者都被指定了,加入到接口中的映射器会匹配两种标准。默认情况下,这两个属性都是null,所以在基包中给定的所有接口可以作为映射器加载。
被发现的映射器将会使用Spring对自动侦测组件默认的命名策略来命名。也就是说,如果没有发现注解,它就会使用映射器的非大写的非完全限定类名。但是如果发现了@Component或JSR-330@Named注解,它会获取名称
推荐阅读
-
'org.mybatis.spring.mapper.MapperScannerConfigurer' to required type 'xxx' for property 'XX'
-
mybatis中<mappers> ,mapperLocations,和MapperScannerConfigurer 用法
-
详解 MapperScannerConfigurer之sqlSessionFactory注入方式
-
MapperScannerConfigurer
-
mybatis中<mappers> ,mapperLocations,和MapperScannerConfigurer 用法
-
MapperScannerConfigurer
-
详解 MapperScannerConfigurer之sqlSessionFactory注入方式
-
mybatis与spring整合之MapperScannerConfigurer
-
mybatis与spring整合之MapperScannerConfigurer