私は次のようなパッケージ構造を取得しました:
(...)
com.domain.group.dao
com.domain.group.service
(...)
com.domain.users.dao
com.domain.users.service
パッケージが「dao」または「service」で終わるすべてのクラスだけをスキャンする必要がある春を伝える方法はありますか?
これは同様の問題の例ですが、私の問題は解決しません。
私は次のようなパッケージ構造を取得しました:
(...)
com.domain.group.dao
com.domain.group.service
(...)
com.domain.users.dao
com.domain.users.service
パッケージが「dao」または「service」で終わるすべてのクラスだけをスキャンする必要がある春を伝える方法はありますか?
これは同様の問題の例ですが、私の問題は解決しません。
<context:component-scan base-package="com.domain">
<context:include-filter type="regex" expression=".*dao\.[^.]*"/>
<context:include-filter type="regex" expression=".*service\.[^.]*"/>
</context:component-scan>
@See Spring Reference Chapter 4.10.3 フィルターを使用してスキャンをカスタマイズする
付録:(コメントのため)
include-filter
複数の およびを使用することは可能ですexclude-filter
が、順序が重要です。最初include-filter
に次にexclude-filter
- を参照してくださいspring-context-3.0.xsd
:
<xsd:element name="component-scan">
...
<xsd:complexType>
<xsd:sequence>
<xsd:element name="include-filter" type="filterType" minOccurs="0" maxOccurs="unbounded">
...
</xsd:element>
<xsd:element name="exclude-filter" type="filterType" minOccurs="0" maxOccurs="unbounded">
...
</xsd:element>
</xsd:sequence>
...
</xsd:complexType>
</xsd:element>
<context:component-scan base-package="org.example">
<context:include-filter type="regex" expression="YOUR REGEX"/>
</context:component-scan>
PS: サービス正規表現用と dao 用に 1 つずつ、複数の include-filters を持つことができます
これは、Spring リファレンス ガイドの「フィルタを使用してスキャンをカスタマイズする」セクションから取得したものです。