基于注解的Spring容器配置方面:包括和排除过滤器(Spring annotation-based

2019-10-29 18:11发布

首先,我指向类似的问题 。 我花了一个多小时来设置的,但仍然PathMatchingResourcePatternResolver扫描的一切。

我有一个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..* &amp;&amp; cz.instance.transl.service..* &amp;&amp; cz.instance.transl.hooks..*"/>   
   </context:component-scan>

凡类像cz.instance.transl.service包。*不应该受到扫描,但一切都在这里cz.instance.transl人。*应通过扫描。 但PathMatchingResourcePatternResolver标志着一切,匹配的资源。 它与正则表达式相同。

编辑:如果我宣布背景:在specific.xml组件扫描,然后扫描甚至不启动,我在common.xml得到NoSuchBeanDefinitionException基于注释的依赖。

BTW:在XML风格的配置,可以有加载上下文时通过“进口资源”共享common.xml豆许多组件。 如何在使用注解的基于容器的配置做了什么?

Answer 1:

在这种情况下,你需要“或”而不是“和”:

<context:exclude-filter type="aspectj"
     expression="cz.instance.transl.model..* || cz.instance.transl.service..* || cz.instance.transl.hooks..*"/>       


文章来源: Spring annotation-based container configuration context:include & exclude filters