org.mybatis.spring.mapper.MapperScannerConfigurer 類作用


1.

1 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
2         <property name="annotationClass" value="org.springframework.stereotype.Repository"/>
3         <property name="basePackage" value="cn.jesong.webcall.report.dao"/>
4         <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
5     </bean>

 

2.

MapperFactoryBean的出現為了代替手工使用SqlSessionDaoSupport或SqlSessionTemplate編寫數據訪問對象(DAO)的代碼,使用動態代理實現。

1 <bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
2 <property name="mapperInterface" value="org.mybatis.spring.sample.mapper.UserMapper" />
3 <property name="sqlSessionFactory" ref="sqlSessionFactory" />
4 </bean>

 

3.

org.mybatis.spring.sample.mapper.UserMapper是一個接口,我們創建一個MapperFactoryBean實例,然后注入這個接口和sqlSessionFactory(mybatis中提供的SqlSessionFactory接口,MapperFactoryBean會使用SqlSessionFactory創建SqlSession)這兩個屬性。
之后想使用這個UserMapper接口的話,直接通過spring注入這個bean,然后就可以直接使用了,spring內部會創建一個這個接口的動態代理。
當發現要使用多個MapperFactoryBean的時候,一個一個定義肯定非常麻煩,於是mybatis-spring提供了MapperScannerConfigurer這個類,它將會查找類路徑下的映射器並自動將它們創建成MapperFactoryBean。

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="org.mybatis.spring.sample.mapper" /></bean>
這段配置會掃描org.mybatis.spring.sample.mapper下的所有接口,然后創建各自接口的動態代理類。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM