您的位置:首页 > 编程语言 > Java开发

spring中的context:include-filter和context:exclude-filter的区别

2018-03-19 09:17 323 查看
1.在spring-mvc.xml中有以下配置:

<!-- 对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 -->

<context:component-scan base-package="com.zcjy.os.edu.controller" use-default-filters="false" >

        <context:include-filter    type="annotation"  
expression="org.springframework.stereotype.Controller" />
<context:include-filter type="annotation"                              expression="org.springframework.web.bind.annotation.ControllerAdvice" /></context:component-scan>可以看出要把最终的包写上,而不能这样写base-package="com.zcjy.os.edu.”。这种写法对于include-filter来讲它都会扫描,而不是仅仅扫描@Controller。哈哈哈,这点需要注意。他一般会导致一个常见的错误,那就是事务不起作用,补救的方法是添加use-default-filters=”false”。

2. 在主容器中(applicationContext.xml)有如下配置:
<!-- 配置扫描注解,不扫描@Controller注解 -->

<context:component-scan base-package="com.zcjy.os.edu">
<context:exclude-filter type="annotation"
expression="org.springframework.stereotype.Controller" />
<context:exclude-filter type="annotation"
expression="org.springframework.web.bind.annotation.ControllerAdvice" />

</context:component-scan>
可以看到,他是要扫描com.zcjy.os.edu包下的所有子类,不包含@Co
4000
ntroller。对于exculude-filter不存在包不精确后都进行扫描的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐