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

在Spring 的配置文件中有:

	<context:component-scan base-package="njupt.dao,njupt.service">
		<context:exclude-filter expression="org.springframework.stereotype.Controller"
			type="annotation" />
	</context:component-scan>

 默认use-default-filters="true"所以会自动对 @Component、@ManagedBeuse-default-filters="true"an、@Named注解的Bean进行扫描,context:exclude-filter不对Controller的注解进行扫描。

在SpringMVC的配置文件中有:

<context:component-scan base-package="njupt.mapper"
        use-default-filters="false">
        <context:include-filter
            expression="org.springframework.stereotype.Controller" type="annotation" />
    </context:component-scan>

使用use-default-filters="false"不会对 @Component、@ManagedBeuse-default-filters="true"an、@Named注解的Bean进行扫描,context:include-filter对Controler进行扫描。

这样做是有意义的,可以避免事务失效