Spring中的<context:annotation-config/>

本文介绍了Spring框架中&lt;context:annotation-config/&gt;的作用及其如何简化BeanPostProcessor的声明过程,包括@Autowired、@Resource等注解的支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在配置Spring的配置文件中,会常见到< context:annotation-config/>,其实它的作用是向Spring容器中注册四个BeanPostProcessor,其四个分别为:

  • AutowiredAnnotationBeanPostProcessor
  • CommonAnnotationBeanPostProcessor
  • PersistenceAnnotationBeanPostProcessor
  • RequireAnnotationBeanPostProcessor

注册这四个的作用,就是为了让系统能够识别相应的注解

例如:
先使用@Autowired注解,就必须声明AutowiredAnnotationBeanPostProcessor的Bean,传统的声明方式为:
<bean class="org.springframework.beans.factory.annotation. AutowiredAnnotationBeanPostProcessor "/>

若想使用@Resource、@PostConstruct、@PreDestroy等就必须声明CommonAnnotationBeanPostProcessor的Bean。

若想使用@PersistenceContext注解,就必须声明PersistenceAnnotationBeanPostProcessor的Bean。

若想使用@Required的注解,就必须声明RequiredAnnotationBeanPostProcessor的Bean。

这样用起来会很麻烦,所以spring给我们提供了<context:annotation-config/>的简化配置方式,将自动完成声明。

在使用注解时,一般会配置扫描包路径选项:<context:component-scan basc-package="包名"/>,该配置包含了自动注入上述processor的功能,因此当使用<context:component-scan/>时,就可以将<context:annotation-config/>移除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值