сначала я указываю на аналогичные question. Я потратил больше часа, чтобы настроить это, но PathMatchingResourcePatternResolver все еще сканирует все.Контент конфигурации контейнера на основе Spring: включить и исключить фильтры
У меня есть один common.xml (который импортируется из specific.xml) и файл определения specific.xml bean. Контекст загружается из specific.xml. В common.xml есть этот элемент:
<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.service * не должно быть предметом проверки, но все остальное в здесь cz.instance.transl * должны.. сканироваться. Но PathMatchingResourcePatternResolver отмечает все как соответствующие ресурсы. То же самое с регулярным выражением.
EDITED: Если я объявляю контекст: компонент-сканирование в specific.xml, то сканирование даже не запускается, и я получаю NoSuchBeanDefinitionException для зависимостей на основе аннотаций в common.xml.
BTW: в конфигурации стиля xml можно использовать много компонентов, которые совместно используют компоненты common.xml через «ресурс импорта» при загрузке контекста. Как это делается при использовании конфигурации контейнера на основе аннотаций?
Тем не менее сканирование всего. Это не имеет смысла для меня, мне нужно исключить все эти три пакета. «Исключить это или это или это действительно запутывает :-) – lisak
@lisak: Исключить фильтр не исключает пакеты, он исключает классы. Он читает: exclude class, если он принадлежит к тому или иному пакету. – axtavt
Существует проблема с «ресурсом импорта», кажется, что контекст: компонент-сканирование применяется к конкретному xml с определением bean-компонента, и если есть зависимость в импортированном ресурсе, который не объявлен там, он не работает в NoSuchBeanDefinitionException – lisak