//配置类==配置文件
@Configuration //告诉Spring这是一个配置类
@ComponentScan(value="com.springframework",excludeFilters= {
@Filter(type=FilterType.ANNOTATION,classes= {Controller.class,Service.class})
})
//@ComponentScan value:指定要扫描的包
//excludeFilters = Filter[] : 指定扫描的时候按照什么规则排除哪些组件
//includeFilters=Filter[]: 指定扫描的时候只需要扫描什么包
从excludeFilters源码可以看出:excludeFilters必须是这样的一个Filter数组
而Filter就是一个Filter注解:
按照以下哪种类型排除:注解、ASPECTJ表达式、类型、自定义、正则表达式
classes也是一个数组
@ComponentScan里面有一个useDefaultFilters方法默认是true,所以我们应该将它设置为false,才能只生效我们配置的类
//配置类==配置文件
@Configuration //告诉Spring这是一个配置类
@ComponentScan(value="com.springframework",includeFilters= {
@Filter(type=FilterType.ANNOTATION,classes= {Controller.class,Service.class})
})
//@ComponentScan value:指定要扫描的包
//excludeFilters = Filter[] : 指定扫描的时候按照什么规则排除哪些组件
//includeFilters=Filter[]: 指定扫描的时候只需要扫描什么包
@ComponentScan是一个可重复注解(java8)可以写多个@ComponentScan
不是java8的话,可以通过以下写法,实现多个@ComponentScan:
ComponentScans源码