Spring 講解

在基於主機方式配置Spring的配置文件中,你可能會見到<context:annotation-config />這樣一條配置,他的做用是向Spring容器註冊AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、
PersistenceAnnotationBeanPostProcessor以及RequiredAnnotationBeanPostProcessor這4個BeanPostProcessor。
註冊這4個BeanPostProcessor的做用,就是爲了你的系統可以識別相應的註解。spring

例如:
若是你想使用@Autowired註解,那麼就必須事先在Spring容器中聲明AutowiredAnnotationBeanPostProcessor Bean。傳統聲明方式以下:oop

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

若是想使用@Resource 、@PostConstruct、@PreDestroy等註解就必須聲明CommonAnnotationBeanPostProcessor。ui

若是想使用@PersistenceContext註解,就必須聲明PersistenceAnnotationBeanPostProcessor的Bean。spa

若是想使用@Required的註解,就必須聲明RequiredAnnotationBeanPostProcessor的Bean。一樣,傳統的聲明方式以下:code

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

通常來講,這些註解咱們仍是比較經常使用,尤爲是Antowired的註解,在自動注入的時候更是常常使用,因此若是老是須要按照傳統的方式一條一條配置顯得有些繁瑣和沒有必要,因而spring給咱們提供<context:annotation-config />的簡化配置方式,自動幫你完成聲明。component

不過,呵呵,咱們使用註解通常都會配置掃描包路徑選項
<context:component-scan base-package=」XX.XX」/>該配置項其實也包含了自動注入上述processor的功能,所以當使用 <context:component-scan/> 後,就能夠將 <context:annotation-config /> 移除了。blog

---------------------------------------------------------------------------------
Blog:http://www.cnblogs.com/linjiqin/
Hadoop交流羣(250363249)、Java+Oracle交流羣(158560018)io

題外話:
本人來自鐵觀音的發源地——泉州安溪,有須要正宗安溪鐵觀音的友友歡迎Q我:416501600。class

相關文章
相關標籤/搜索