zoukankan      html  css  js  c++  java
  • “context:include-filter”与“context:exclude-filter”标签作用解释

    注意到spring中<context:component-scan>标签中会出现include和exclude的子标签,具体是做什么用的?

    spring的配置文件与springmvc的配置文件分开加载,在spring容器初始化的时候,会先加载(web.xml)<context-param>中的配置,之后再加载<servlet>中的<init-param>。加载springmvc的时候,如果扫描到@service会重新加载这个service的bean(都是没有aop配置事务控制的),可能会覆盖之前的service,导致service的事务失效。

    所以说我们一般分开加载的时候在加载spring配置文件的时候只扫描@service和@Reposity这些类,就使用exclude,相当于黑名单:

    加载springmvc的配置文件的时候,就使用include,相当于白名单:

    注意use-default-filters="false"这个属性:默认为true,会扫描到@Service与@Reposity等,所以配置成false,只扫描白名单中的bean注解。

    白话解释:

    最好的解释就是: context:exclude-filter是设置黑名单。比如手机黑名单,在黑名单中的人是无法打进电话的。 context:include-filter是设置白名单。在手机白名单中的号码可以打进来,不在白名单也不在黑名单中的也可以打进来。 所以需要针对白名单过滤进行设置,把默认的过滤器关闭,即use-default-filters="false";。然后他就仅仅扫描指定注解了。

  • 相关阅读:
    Fedora安装ati显卡驱动
    [转]SQLite 3入门教程
    [转]QT:不规则窗口的实现
    Ubuntu 10.10可用源
    [转]Qtopia2.2.0移植
    [转]嵌入式Qtopia2.2.0开发环境的搭建和使用
    ES6 find 和 filter 的区别
    “/ArcGIS/rest”应用程序中的服务器错误——解决办法
    Java:String和Date、Timestamp之间的转换
    UVA 100 The 3n+1 Problem
  • 原文地址:https://www.cnblogs.com/Jeely/p/10794289.html
Copyright © 2011-2022 走看看