一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 詳解Java的MyBatis框架與Spring框架整合中的映射器注入

詳解Java的MyBatis框架與Spring框架整合中的映射器注入

2020-05-08 12:03fhd001 JAVA教程

映射器注入方式可以將MyBatis與Spring映射好的XML文件實現配置共用,這里我們就來詳解Java的MyBatis框架與Spring框架整合中的映射器注入:

MyBatis-Spring允許你在Service Bean中注入映射器。當使用映射器時,就像調用DAO那樣來調用映射器就可以了,但是此時你就不需要進行任何DAO實現的編碼,因為MyBatis會為你進行。
使用注入的映射器,你的代碼就不會出現任何MyBatis-Spring依賴和MyBatis依賴。在我們的應用中有這樣一個簡單的映射器。你也應該知道映射器僅僅是一個接口:

?
1
2
3
public interface UserMapper { 
  User getUser(String userId); 

這是你使用MyBatis-Spring來創建映射器的方式:

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

現在你的映射器已經準備在Service對象中注入了:

?
1
2
3
<bean id="fooService" class="sample.FooServiceImpl">
  <property name="userMapper" ref="userMapper"/>
</bean>

注:映射器接口全類名與映射器xml配置文件的namespace是對應的。
 
關于MapperFactoryBean
MapperFactoryBean創建的代理類實現了映射器接口(如上例:UserMapper),并且注入到應用程序中。因為代理創建在運行環境中,那么指定的映射器必須是一個接口。而不是一個具體的實現類。 

沒有必要在Spring的XML配置文件中注冊所有的映射器。相反,你可以使用一個MapperScannerConfigurer,它將會查找類路徑下的映射器并自動將它們創建成MapperFactoryBeans。要創建MapperScannerConfigurer,可以在Spring的配置中添加如下代碼:

?
1
2
3
<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注解,它會獲取名稱。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 青草视频网址 | 午夜亚洲一区二区福利 | 四色6677最新永久网站 | 日本高清免费中文字幕不卡 | 免费国产之a视频 | 美女全身体光羞羞漫画 | 日韩免费在线视频观看 | 男男同志gaysxxx | 嫩草影院永久在线播放 | 亚洲日本在线观看网址 | 97视频久久久 | 三级午夜宅宅伦不卡在线 | 亚洲欧洲日产国码 最新 | 韩国成人毛片aaa黄 含羞草国产亚洲精品岁国产精品 | 火影小南被爆羞羞网站 | 日韩在线视频二区 | 丝瓜草莓香蕉绿巨人幸福宝 | 亚洲福利视频一区 | 美女扒开腿让男生捅 | 欧美 国产 日韩 第一页 | 91麻豆精品国产91久久久 | 日本高清无吗 | 国产精品女同久久免费观看 | 精品精品国产自在香蕉网 | 美女扒开屁股 | 日本在线国产 | 成年性生交大片免费看 | 亚洲男人第一天堂 | 桃乃木香奈ipx在线播放 | 国产精品视频人人做人人爱 | 日本在线精品视频 | 好爽好深好猛好舒服视频上 | 四虎影院在线免费观看视频 | 精品小视频在线 | 欧美国产高清 | 成人在线视频在线观看 | 亚洲欧美专区精品伊人久久 | 草草国产成人免费视频 | 四虎1515hh.com | 麻豆网站在线免费观看 | 国产成人愉拍精品 |