Spring的深入浅出--2.@ComponentScan使用及源码分析

接上一章

 回到MainConfig类中,根据以往xml的配置我们知道,它是可以指定扫描哪些,不扫描哪些

excludeFilters:排除过滤器 

 

我们查看@ComponentScan注解源码,看到excludeFilters()方法返回的是Filter数组 

需要排除的注解:

选择排除的方式

ANNOTATION:注解排除;

ASPECT:ASPECT表达式排除;

Assignable:按照类型排除;

CUSTOM:自定义排除;

REGEX:正则表达式排除;

其Filter的源码底层:

我们按照注解排除:

ComponentScan中的classes源码:

由于Class是数组类型,我们可以直接在classes中多写几个

当前运行结果:

既然有排除过滤器ExcludeFilters,那还有IncludeFilters

现在修改MainConfig的注解属性为IncludeFilters

 运行:

 在传统方式中我们在注解<context:componet></context:componet>

添加变量:

user-default-filters:如果没有去设置的话,在默认的情况下为(true)是扫描你配置的包下所有的类(“com.atguigu”)

一般情况下我们需要设置为false

同理:根据上面的源码我们在MainConfig中需要设置为false

 如果需要配置多个@ComponentScan:

使用@ComponentScans

 自定义注解:

 运行之后:

我们可以看到发现在controller的基础上加上了bookService

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值