这里我们只想从某个类路径中排除一个类,比如
com.abc.projectA.service.orderService.sectionA.orderService.class
但是,还有另一个具有相同名称但在不同类路径中的类
com.abc.projectA.service.orderService.sectionB.orderService.class
这样只有按类名的文件管理器是行不通的。

但我尝试了以下方法:

<context:component-scan base-package="com.abc">
    <!--other filters-->
    <!--.......-->
    <context:exclude-filter expression="projectA\.service\.orderService\.sectionA\.orderService" type="regex" />
</context:component-scan>

它不起作用。所以我敢打赌 <context:exclude-filter> 只在包级别有效,但对特定类无效?如果是这样,如何从 bean 注入(inject)中排除一个类,以便我们可以选择使用类来连接相同的类名?

提前致谢。

最佳答案

不,排除应该起作用,您遇到的问题可能是您假设正则表达式中的路径将以不正确的基本包作为前缀。

<context:component-scan base-package="com.abc">
    <!--other filters-->
    <!--.......-->
    <context:exclude-filter expression="com\.abc\.projectA\.service\.orderService\.sectionA\.orderService" type="regex" />
</context:component-scan>

10-08 13:20