最初に私は同様のquestionを指摘しています。これを設定するのに1時間以上を費やしましたが、PathMatchingResourcePatternResolverはすべてをスキャンします。Springアノテーションベースのコンテナ設定コンテキスト:インクルードと除外フィルタ
私はspecific.xmlからインポートされたcommon.xmlとspecific.xml bean定義ファイルを持っています。コンテキストはspecific.xmlからロードされます。 。するcommon.xmlでは、この要素がある:。cz.instance.transl.serviceのようなパッケージ内のクラスは、*スキャンの対象とすべきではない
<context:component-scan base-package="cz.instance.transl">
<context:exclude-filter type="aspectj"
expression="cz.instance.transl.model..* && cz.instance.transl.service..* && cz.instance.transl.hooks..*"/>
</context:component-scan>
が、ここではcz.instance.translで他のすべてが*べきですスキャンされます。しかし、PathMatchingResourcePatternResolverはすべてを一致するリソースとしてマークします。これは正規表現でも同じです。
EDITED:specific.xmlでcontext:component-scanを宣言すると、スキャンが開始されず、common.xmlのアノテーションベースの依存関係でNoSuchBeanDefinitionExceptionが返されます。
BTW:XMLスタイルの設定では、コンテキストを読み込むときに "import resource"経由でcommon.xml beansを共有する多くのコンポーネントを持つことができます。注釈ベースのコンテナ構成を使用する場合、これはどのように行われますか?この場合
はまだすべてをスキャンします。これは私にとって意味をなさない、私はこれらの3つのパッケージはすべて除外される必要があります。 "これはこれかこれを除外するか、これは本当に混乱します:-) – lisak
@lisak:除外フィルタはパッケージを除外せず、クラスを除外します:excludeクラスがこのパッケージまたはそのパッケージに属していれば除外します – axtavt
問題があります"import resource"を指定すると、context:component-scanが特定のxmlにBean定義で適用され、そこに宣言されていないインポートされたリソースに依存がある場合、NoSuchBeanDefinitionExceptionで失敗します。 – lisak