spring Mvc 配置文件中<contxt:include-filter>跟spring 配置文件中 <contxt:exclude-filter>怎么理解?

来源:4-1 从配置文件开始

芝麻开门66

2017-07-16 15:53

我没有搞太清楚<contxt:include-filter> 跟<contxt:exclude-filter> 有什么区别? 怎么样理解?

项目spring mvc 中不配置<contxt:exclude-filter> 也能启动。如果配置了有何用处?

写回答 关注

2回答

  • 旋律丶秋凉
    2018-01-30 21:09:17

    <context:component-scan/>扫描查找使用构造型(stereotype)注解所标注的类,如@Component(组件)@Service(服务),@Controller(控制器),@Repository(数据仓库)

    其属性base-package指明了要扫描的包的位置,这里是要扫描com.MVC.helloworld

    属性use-default-filters="false"指明是否使用默认的过滤器,默认值true,若为true,那么其子节点 过滤器<context:include-filter/> 是选中符合条件的内容,如果为false则排除符合过 滤器子节点 条件的内容

    <context:include-filter/>过滤器是<context:component-scan/>的子节点,他可以有多个这样的过滤器子节点

    其属性type指明了要扫描的是注解(annotation),还可以扫描类或接口(type= "assignable"),还可以使用正则匹配(type= " regex")

    属性expression是过滤条件,由于父节点的use-default-filters属性默认为trueorg.springframework.stereotype.Controller代表 选中 带有@controller注解的类并将其注册成bean,该属性还可以直接指明某个类或接口并将其注册成bean,甚至支持正则表达式,如:<context:exclude-filter type="regex" expression=".service.*"/>


  • 慕娘9457768
    2017-07-18 12:33:34

    <contxt:include-filter>指定包里面可以扫描加载的类,如果不填那就默认为加载包里面所有的类。

    <contxt:exclude-filter> 指定包里面不加载的类,只要实现了指定接口的类(org.springframework.stereotype.Controller)都不加载

Spring MVC起步

Java中Spring MVC框架入门教程,快来看最易用的MVC框架

195979 学习 · 572 问题

查看课程

相似问题