`
liuluo129
  • 浏览: 116308 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring配置中<context:component-scan/>的use-default-filters的作用

 
阅读更多

首先来看下spring -context-3.0.xsd中关于<contenxt:component-scan/>属性use-default-filters的定义:

<xsd:attribute name="use-default-filters" type="xsd:boolean"
				default="true">
	<xsd:annotation>
		<xsd:documentation><![CDATA[
	Indicates whether automatic detection of classes annotated with @Component, @Repository, @Service,
	or @Controller should be enabled. Default is "true".
					]]>
		</xsd:documentation>
	</xsd:annotation>
</xsd:attribute>

 即它用来指示是否自动扫描带有@Component、@Repository、@Service和@Controller的类。默认为true,即默认扫描。如果想要过滤其中这四个注解中的一个,比如@Repository,可以添加如下子标签:

<context:component-scan base-package="tv.crm"
    scoped-proxy="targetClass" use-default-filters="true">
    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
</context:component-scan>

 而<context:include-filter/>子标签是用来添加扫描注解的。

但是如果添加和排除的是相同,比如:

<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/>

 则必须include-filter在前,exclude-filter在后,否则配置不符合spring -context-3.0.xsd要求,Spring容器解析时会出错。上面的配置会把@Repository注解的类排除掉。

0
0
分享到:
评论

相关推荐

    spring组件扫描contextcomponent-scan使用详解.pdf

    使用&lt;context:component-scan/&gt;标签需要在 Spring 配置文件中添加以下代码: ```xml &lt;context:component-scan base-package="com.example"/&gt; ``` 其中,base-package 指定了要扫描的包名。 Spring 框架会自动检测该...

    集成springmvc spring hibernate的配置

    &lt;context:component-scan base-package="com.mvc.web" use-default-filters="false"&gt; &lt;context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" /&gt; &lt;/context:component...

    spring mvc

    当在Spring配置文件中加入`&lt;context:component-scan base-package="leot.test"/&gt;`,Spring会扫描指定包(本例中为"leot.test")及其子包下的所有类,查找带有上述注解的类,并将其注册为Spring管理的Bean。...

    基于注解的Spring_3.0.x_MVC

    &lt;context:component-scan base-package="com.dn" use-default-filters="false"&gt; &lt;context:include-filter expression="org.springframework.stereotype.Controller" type="annotation"/&gt; &lt;/context:component-scan&gt;...

    SpringMVC和Spring的配置文件扫描包详解

    例如:&lt;context:component-scan base-package="tv.huan.weisp.web.controller"&gt; &lt;context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/&gt; &lt;/context:component-scan&gt; ...

    Spring+SpringMVC配置事务管理无效原因及解决办法详解

    &lt;context:component-scan base-package="org.bc.redis.controller" use-default-filters="true"&gt; &lt;/context:component-scan&gt; ``` 总结 在使用 Spring 和 SpringMVC 配置事务管理时,需要正确配置 Spring 和 ...

    Java之Spring注解配置bean实例代码解析

    示例:&lt;context:component-scan base-package="com.web.annotation" resource-pattern="repository/*.class"use-default-filters="true"&gt; 在&lt;context:component-scan/&gt;元素中,可以使用&lt;context:include-filter&gt;和...

    Spring MVC 注解自动扫描失效原因分析

    首先,我们需要理解Spring的`&lt;context:component-scan&gt;`元素的作用。这个元素用于开启对指定包及其子包内使用了Spring注解的类的扫描。在这个例子中,`base-package`属性指定了基础包`com.cjw.test.controller`,`...

    java基于spring注解AOP的异常处理的方法

    &lt;context:component-scan base-package="com.sishuok.es" use-default-filters="false"&gt; &lt;context:include-filter type="annotation" expression="org.springframework.stereotype.ControllerAdvice"/&gt; &lt;/context:...

    spring-framework-reference-4.1.2

    3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................

    spring-framework-reference4.1.4

    3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................

Global site tag (gtag.js) - Google Analytics