Spring配置項 的解釋說明


我們一般在含有Spring的項目中,可能會看到配置項中包含這個配置節點<context:annotation-config>,這是一條向Spring容器中注冊

AutowiredAnnotationBeanPostProcessor

CommonAnnotationBeanPostProcessor

PersistenceAnnotationBeanPostProcessor

RequiredAnnotationBeanPostProcessor

這4個BeanPostProcessor.注冊這4個BeanPostProcessor的作用,就是為了你的系統能夠識別相應的注解。

那么那些注釋依賴這些Bean呢。

如果想使用@ Resource 、@ PostConstruct、@ PreDestroy等注解就必須聲明CommonAnnotationBeanPostProcessor。 
如果想使用@PersistenceContext注解,就必須聲明PersistenceAnnotationBeanPostProcessor的Bean。 
如果想使用@Autowired注解,那么就必須事先在 Spring 容器中聲明 AutowiredAnnotationBeanPostProcessor Bean。 
如果想使用 @Required的注解,就必須聲明RequiredAnnotationBeanPostProcessor的Bean。

同樣,傳統的聲明方式如下: 

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

 但是,就一般而言,這些注解我們是經常使用,比如Antowired,Resuource等注解,如果總是按照傳統的方式一條一條的配置,感覺比較繁瑣和機械。於是Spring給我們提供了<context:annotation-config/>的簡化的配置方式,自動幫助你完成聲明,並且還自動搜索@Component , @Controller , @Service , @Repository等標注的類。

<context:component-scan base-package="com.**.impl"/>

因此當使用 <context:component-scan/> 后,就可以將 <context:annotation-config/> 移除了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM