欢迎光临散文网 会员登陆 & 注册

Spring系列(三):@ComponentScan注解用法介绍

2022-02-22 20:52 作者:IT技术分享社区  | 我要投稿



         今天给大家分享Spring中@ComponentScan注解的用法,希望对大家能有所帮助!

1、@ComponentScan注解的作用

@ComponentScan注解一般和@Configuration注解一起使用,主要的作用就是定义包扫描的规则,然后根据定义的规则找出哪些需类需要自动装配到spring的bean容器中,然后交由spring进行统一管理。说明:针对标注了@Controller、@Service、@Repository、@Component 的类都可以别spring扫描到。

2、@ComponentScan注解属性介绍

2.1 value

指定要扫描的包路径

2.2 excludeFilters(排除规则)

excludeFilters=Filter[] 指定包扫描的时候根据规则指定要排除的组件

2.3 includeFilters(包含规则)

includeFilters =Filter[] 指定包扫描的时候根据规则指定要包含的组件.注意:要设置useDefaultFilters = false(系统默认为true,需要手动设置) includeFilters包含过滤规则才会生效。

2.4 FilterType属性

FilterType.ANNOTATION:按照注解过滤FilterType.ASSIGNABLE_TYPE:按照给定的类型,指定具体的类,子类也会被扫描到FilterType.ASPECTJ:使用ASPECTJ表达式FilterType.REGEX:正则FilterType.CUSTOM:自定义规则useDefaultFilters: 配置是否开启可以对加@Component,@Repository,@Service,@Controller注解的类进行检测, 针对Java8 语法可以指定多个@ComponentScan,Java8以下可以用 @ComponentScans() 配置多个规则

3、示例

3.1 各种过滤过滤规则示例


3.2 自定义过滤规则 需要新建 TestTypeFilter.java



3.3 新建测试类  TestComponentScan.java

具体的运行效果可以查看控制台输出结果,是否和预期的一样,具体有不清楚的欢迎沟通交流。


Spring系列(三):@ComponentScan注解用法介绍的评论 (共 条)

分享到微博请遵守国家法律