[Spring]註冊的BeanPostProcessor

<context:annotation-config/>配置對於使用註解裝配bean提供了一定的支持

根據Spring文檔主要註冊如下四個

AutowiredAnnotationBeanPostProcessor,CommonAnnotationBeanPostProcessor,RequiredAnnotationBeanPostProcessor,PersistenceAnnotationBeanPostProcessor 。

這四個BeanPostProcessor分別有不同的支持,提供不同的註解需要。

AutowiredAnnotationBeanPostProcessor 支持裝配fields, 是settermethod,以及任意的配置方法,默認支持使用@Autowired,@Value

CommonAnnotationBeanPostProcessor 支持使用JSR-250 javax 註解裝配bean,默認支持@ Resource ,@ PostConstruct,@ PreDestroy註解

PersistenceAnnotationBeanPostProcessor  支持@PersistenceContext註解

RequiredAnnotationBeanPostProcessor  支持@Required註解


對於以上這些bean都是分開註冊,加入你只想用到@Autowired 註解 直接 xml 配置裏面寫上

<bean class="org.springframework.beans.factory.annotation. AutowiredAnnotationBeanPostProcessor "/> 

 就可以了,其他沒有註冊的BeanPostProcessor所支持的註解也就檢測不到了



不過我們使用註解一般都會配置掃描包路徑選項

<context:component-scan base-package=”XX.XX”/> 

該配置項其實也包含了自動注入上述processor的功能,因此當使用 <context:component-scan/> 後,就可以將 <context:annotation-config/> 移除了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章