Spring组件扫描自定义过滤器

duanxz 阅读:17 2024-11-01 17:39:52 评论:0

我的包结构如下:

(...) 
com.domain.group.dao 
com.domain.group.service 
(...) 
com.domain.users.dao 
com.domain.users.service 

有什么方法可以告诉 spring 只扫描所有以“dao”或“service”结尾的类吗?

here's example of similar problem ,但这并没有解决我的问题。

请您参考如下方法:

 <context:component-scan base-package="com.domain"> 
     <context:include-filter type="regex" expression=".*dao\.[^.]*"/> 
     <context:include-filter type="regex" expression=".*service\.[^.]*"/> 
 </context:component-scan> 

@见Spring Reference Chapter 4.10.3 Using filters to customize scanning


附录:(因为评论)

可以有多个 include-filterexclude-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> 


标签:Spring
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号