【Spring註解驅動開發】聊聊Spring註解驅動開發那些事兒!
阿新 • • 發佈:2020-06-05
## 寫在前面
> 今天,面了一個工作5年的小夥伴,面試結果不理想啊!也不是我說,工作5年了,問多執行緒的知識:就只知道繼承Thread類和實現Runnable介面!問Java集合,竟然說HashMap是執行緒安全的!問MySQL的MyISAM儲存引擎和InnoDB儲存引擎的區別,竟然說成是MyISAM儲存引擎支援事務,InnoDB不支援!問Spring就只知道IOC和AOP的概念,深一點就不知道了!再問專案。。。哎,算了,不說了!
>
> 大家對於設計模式、高併發和Java8新特性,不瞭解的,就去看我的專欄吧!今天,我們來聊聊關於Spring註解驅動開發的那些事兒,也算是Spring專欄的開篇吧!
## 關於Spring
說起Spring,絕對是Java開發領域的佼佼者,試問,做Java開發的有誰不知道Spring?做Java開發的又有誰沒用過Spring?又有哪家公司在Java Web專案中沒使用過Spring?就算有,那也應該很少吧!所以,騷年,如果你選擇了Java開發這條不歸路,你就必須牢牢掌握Spring!
## Spring註解驅動
如果小夥伴們還在用Spring的基礎框架,例如:Spring、SpringMVC、MyBatis,也就是傳說中的SSM,來整合開發的時候,可能會大量的寫配置檔案。那麼,在SpringBoot和SpringCloud興起之後,Spring的註解驅動就用的非常多了!其中,會用到非常多的註解。為了能夠更加深刻的理解這些註解的原理,更好的使用這些註解提高我們的工作效率。這裡,我結合實際工作中使用Spring的一些經驗,向大家分享下如何使用Spring的註解來提高我們的工作效率,以及註解背後的工作原理到底是什麼!
## 專欄安排
不知道怎麼安排這個專欄,反正想了很久,無意間看到一張腦圖,哈哈,沒錯,可以按照它來(文末會給出這張圖)。那我就把整個專欄分成三個大的部分吧,分別是:容器、擴充套件原理和Web。
### 容器
容器作為整個專欄的第一大部分,內容包括:
* AnnotationConfigApplicationContext
* 元件新增
* 元件賦值
* 元件注入
* AOP
* 宣告式事務
### 擴充套件原理
擴充套件原理作為整個專欄的第二大部分,內容包括:
* BeanFactoryPostProcessor
* BeanDefinitionRegistryPostProcessor
* ApplicationListener
* Spring容器建立過程
在這部分,我們一起來研究Spring的底層原始碼和執行流程,對於很多小夥伴來說,這部分的內容相當枯燥,甚至有種身體被掏空的感覺(哈哈),但是,這部分的內容一定要掌握,這也是普通程式設計師進階成為高階程式設計師的必經之路。
這部分內容對於深度學習Spring框架,起著非常重要的作用。小夥伴們在看這部分的文章時,一定要根據文章自己多動手除錯Spring原始碼,這樣對於Spring的理解才能更加深刻。
### Web
Web作為整個專欄的第三大部分,內容包括:
* servlet3.0
* 非同步請求
這部分,其實就是SpringMVC,這個部分中,我們會重點來說非同步請求。
整個專欄的規劃有一定深度,建議小夥伴們提前學習瞭解下Spring的基礎知識,最好是對Spring和SpringMVC框架有過一定的使用經驗,如果是事先了解過Spring和SpringMVC的原始碼,那就太好了,這樣學習起來可以達到事半功倍的效果。
暫時就說這麼多吧,今天算是開篇了,小夥伴們有啥想說的,都可以私聊我!
## 寫在最後
> 如果覺得文章對你有點幫助,請微信搜尋並關注「 **冰河技術** 」微信公眾號,跟冰河學習Spring註解驅動開發。公眾號回覆“spring註解”關鍵字,領取Spring註解驅動開發核心知識圖,讓Spring註解驅動開發不再迷茫。
最後,附上Spring註解驅動開發核心知識圖,祝大家在學習Spring註解驅動開發時少走彎路。
![](https://img2020.cnblogs.com/blog/1729473/202006/1729473-20200605000243595-7004197