Spring、SpringMVC中的exclude-filter和include-filter
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring、SpringMVC中的exclude-filter和include-filter相关的知识,希望对你有一定的参考价值。
参考技术A1、Spring-SpringMVC项目中一般都会把applicationContext.xml (Spring配置文件)和spring-mvc.xml(SpringMVC配置文件)进行分开配置。
在applicationContext.xml 只对一些事务逻辑的注解扫描:@Component、@Repository、@Service
在Spring-common.xml中只对控制器注解扫描:@Controller、@RestController、@ControllerAdvice
2、了解component-scan的几个属性
basePackages :Spring将扫描的基础package名,Spring会扫描该包以及其子孙包下的所有类
useDefaultFilters :默认为true,此时Spring扫描类时发现如果其被标注为 @Component、@Repository、@Service、@Controller则自动实例化为bean并将其添加到上下文中,如果设置为false,即使将其标注为@Component或者其他,Spring都会忽略
includeFilters : 指定扫描时需要实例化的类型,我们可以从名字看到这是一个Filter,你可以自己定义该Filter,Spring为我们提供了一套方便的实现,我们可以根据标注、类、包等相关信息决定当扫描到该类时是否需要实例化该类,需要注意的是如果你仅仅想扫描如@Controller不仅要加includeFilters,还需要将useDefaultFilters设置为false
excludeFilter :指定扫描到某个类时需要忽略它,实现和上一个Filter一样,区别只是如果Filter匹配,Spring会忽略该类
这样includeFilters以及excludeFilterF的行为就很清楚了,Spring每扫描一个类,都会经过includeFilters以及excludeFilters,如果某个Filter匹配,就执行相应的操作(实例化或者忽略)
3、applicationContext.xml 以及 spring-mvc.xml 自动扫描注解的配置实例
applicationContext.xml
spring-mvc.xml
以上是关于Spring、SpringMVC中的exclude-filter和include-filter的主要内容,如果未能解决你的问题,请参考以下文章
springmvc mvc:exclude-mapping错误提示