context:component-scan探析

[size=medium][b]个人网站:[url=http://www.aimashe.com]爱码社[/url][/b][/size]

spring的applicationContext配置中用下面的标签进行对要注解的包进行扫描,并解析出所有标有注解标识的类,生成
beanDefinitions。
<context:component-scan base-package="com.test" />

上述标签是在[b][color=red]ContextNamespaceHandler[/color][/b]在被注册为[b][color=red]ComponentScanBeanDefinitionParser
[/color][/b]
其他的注册类如下:

		registerBeanDefinitionParser("property-placeholder", new PropertyPlaceholderBeanDefinitionParser());
registerBeanDefinitionParser("property-override", new PropertyOverrideBeanDefinitionParser());
registerBeanDefinitionParser("annotation-config", new AnnotationConfigBeanDefinitionParser());
registerBeanDefinitionParser("component-scan", new ComponentScanBeanDefinitionParser());
registerBeanDefinitionParser("load-time-weaver", new LoadTimeWeaverBeanDefinitionParser());
registerBeanDefinitionParser("spring-configured", new SpringConfiguredBeanDefinitionParser());
registerBeanDefinitionParser("mbean-export", new MBeanExportBeanDefinitionParser());
registerBeanDefinitionParser("mbean-server", new MBeanServerBeanDefinitionParser());


ComponentScanBeanDefinitionParser最后也注册了以下处理器,用于解析组件中的其他注解标识。
由于其属性annotation-config默认为true,所以不再需要<context:annotation-config />标识,即可完成以下PostProcessor的注册

org.springframework.context.annotation.ConfigurationClassPostProcessor
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor
org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor
org.springframework.context.annotation.CommonAnnotationBeanPostProcessor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值