//配置类==配置文件
@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数组
Spring 随笔
而Filter就是一个Filter注解:
Spring 随笔
按照以下哪种类型排除:注解、ASPECTJ表达式、类型、自定义、正则表达式
Spring 随笔
classes也是一个数组

@ComponentScan里面有一个useDefaultFilters方法默认是true,所以我们应该将它设置为false,才能只生效我们配置的类
Spring 随笔
//配置类==配置文件
@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
Spring 随笔
不是java8的话,可以通过以下写法,实现多个@ComponentScan:
Spring 随笔
ComponentScans源码
Spring 随笔

相关文章:

  • 2021-09-28
  • 2022-02-26
  • 2021-12-13
  • 2022-12-23
  • 2021-09-13
  • 2021-10-05
  • 2021-09-02
  • 2021-11-01
猜你喜欢
  • 2021-08-19
  • 2022-12-23
  • 2021-09-07
  • 2021-06-12
  • 2021-09-18
  • 2022-01-01
  • 2021-07-04
相关资源
相似解决方案