myBatis 3とspringを統合したインジェクタ(2)

1321 ワード

myBatis 3とspringを統合したインジェクタ(2)
--------
 
SpringのXMLプロファイルにすべてのマッパーを登録する必要はありません.反対に、MapperScanner Configrerを使用してもいいです.これはクラスパスの下のマッパーを探して、自動的にそれらをMapper FactoryBensに作成します.MapperScanner Configrerを作成するには、Springの構成に下記のコードを追加することができます.
 
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
	<propery name="basePackage" value="org.mybatis.spring.sample.mapper"/>
</bean>
 
basePackage属性は、マッパーインターフェースファイルのための基本的なパケットパスを設定します.セミコロンまたはコンマを使用して、複数のパケットパスをセパレータとして設定できます.各マッパーは、指定されたパケットパスの中で再帰的に検索される.
なお、Sql Session FactoryまたはSql Session Templateを指定する必要はありません.MapperScanner CofigrerはMapper FactoryBenを作成し、その後自動的に組み立てられます.しかし、もしあなたが一つ以上のDataSourceを使ったら、自動組立は無効になります.この場合、Sql Session FactoryまたはSql Session Template属性を使って正確な工場/テンプレートを設定することができます.
 
MapperScanner Configrerはフィルタリングが指定された作成インターフェースまたは注釈によってマッパーを作成することをサポートします.annotationClass属性は、探している注釈名を指定しています.マーカーInterface属性は探している父インターフェースを指定しました.両方が指定されている場合、インターフェースに追加されたマッパーは2つの基準に一致します.デフォルトでは、これらの2つの属性はnullであるので、ベースパケットで与えられたすべてのインターフェースはマッパーとしてローディングされてもよい.
 
発見されたマッパーは、Spring対自動検出コンポーネントのデフォルトの命名ポリシーを使用して命名される.つまり、注釈が見つからなければ、マッパーの非大文字の非完全限定クラス名を使用する.もし発見されたら@ComponentかJSR-330@Namedコメントは名前を取得します.