<context:component-scan/> 标签解析

在spring 中<context:component-scan/>作用就是帮我们自动装配Bean,变处理好依赖关系。

首先  <context:component-scan/>是属于CustomElement,后来spring扩展补充的由ContextNamespaceHandler来解析命名空间然后由ClassPathBeanDefinitionScanner来扫描类路径来加载Bean。

然后会加载相应的BeanPostProcessor用于再生成bean时进行处理

1:ConfigurationClassPostProcessor 用来处理带有@Configuration注解的类

2:AutowiredAnnotationBeanPostProcessor

 用来处理@Autowired ,@Value,@Inject注解的依赖注入功能

3:RequiredAnnotationBeanPostProcessor

用来处理带有@Required注解的雨来注入

4:CommonAnnotationBeanPostProcessor

处理javax.annotation 包下注解@PostConstruct和@PreDestroy等

5:PersistenceAnnotationBeanPostProcessor

提供对jpa 相关注解的支持如@PersistenceUnit@PersistenceContext等

猜你喜欢

转载自xuyunti.iteye.com/blog/2247165
今日推荐