Spring 解說
在基於主機方式配置Spring的配置檔案中,你可能會見到<context:annotation-config/>這樣一條配置,他的作用是式地向 Spring 容器註冊
AutowiredAnnotationBeanPostProcessor、CommonAnnotationBeanPostProcessor、
PersistenceAnnotationBeanPostProcessor 以及 RequiredAnnotationBeanPostProcessor 這 4 個BeanPostProcessor。
註冊這4個 BeanPostProcessor的作用,就是為了你的系統能夠識別相應的註解。
例如:
如果你想使用@Autowired註解,那麼就必須事先在 Spring 容器中宣告 AutowiredAnnotationBeanPostProcessor Bean。傳統宣告方式如下
<bean class="org.springframework.beans.factory.annotation. AutowiredAnnotationBeanPostProcessor "/>
如果想使用@ Resource 、@ PostConstruct、@ PreDestroy等註解就必須宣告CommonAnnotationBeanPostProcessor
如果想使用@PersistenceContext註解,就必須宣告PersistenceAnnotationBeanPostProcessor的Bean。
如果想使用 @Required的註解,就必須宣告RequiredAnnotationBeanPostProcessor的Bean。同樣,傳統的宣告方式如下:
<bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"/>
一般來說,這些註解我們還是比較常用,尤其是Antowired的註解,在自動注入的時候更是經常使用,所以如果總是需要按照傳統的方式一條一條配置顯得有些繁瑣和沒有必要,於是spring給我們提供<context:annotation-config/>的簡化配置方式,自動幫你完成宣告。
不過,呵呵,我們使用註解一般都會配置掃描包路徑選項
<context:component-scan base-package=”XX.XX”/>
該配置項其實也包含了自動注入上述processor的功能,因此當使用 <context:component-scan/> 後,就可以將 <context:annotation-config/> 移除了。
相關文章
- Spring配置項解釋說明Spring
- Spring原始碼系列:註解說明Spring原始碼
- Spring的@Qualifier註解使用說明Spring
- 請你說說SpringSpring
- Spring配置說明Spring
- 整合測試——Spring TestContext框架支援詳細解說SpringContext框架
- 面試官:展開說說,Spring中Bean物件是如何通過註解注入的?面試SpringBean物件
- 說說 Spring DAO 的異常體系Spring
- 說說 Spring AOP 中 @Aspect 的高階用法Spring
- 說說 Spring 支援的 AspectJ 切點函式Spring函式
- 【Java面試】說說你對Spring MVC的理解Java面試SpringMVC
- Spring Boot 2.7.0 更新說明Spring Boot
- Spring Autowired(required = false) 說明SpringUIFalse
- spring中的IOC說明Spring
- 說說我為什麼看好Spring Cloud AlibabaSpringCloud
- Spring Security實戰三:說說我的認識Spring
- 說說如何使用 Spring Security 保護 web 請求SpringWeb
- spring aop expression簡單說明SpringExpress
- 說說在 Spring 中,如何基於 XML 來配置事務SpringXML
- 說說如何在 Spring Boot 中使用 JdbcTemplate 讀寫資料Spring BootJDBC
- 再借斧子的例子說一說spring與guice的區別SpringGUI
- 這類註解都不知道,還好意思說會Spring Boot ?Spring Boot
- Mybatiss 框架解說MyBatis框架
- Spring BcryptPasswordEncorder Log Rounds引數說明Spring
- 【String註解驅動開發】面試官讓我說說:如何使用FactoryBean向Spring容器中註冊bean?面試BeanSpring
- 說說在 Spring 中,如何程式設計實現事務管理Spring程式設計
- SpringBoot魔法堂:說說帶智慧提示的spring-boot-starterSpring Boot
- Spring註解詳解Spring
- 簡說Spring中的資源載入Spring
- 你說,怎麼把Bean塞到Spring容器?BeanSpring
- SPRING-spring註解整理Spring
- Spring註解Spring
- Spring詳解Spring
- 瞭解SpringSpring
- 說說 Spring 表示式語言(SpEL)中的各種表示式型別Spring型別
- 說說 Spring 定時任務如何大規模企業級運用Spring
- 面試官:說說你對ThreadLocal的瞭解面試thread
- 聊聊分散式事務,再說說解決方案分散式