學Java是一定會學spring么?
答案:是的,學習Java一定要學習Spring框架。
我從2005年開始學習并在開發(fā)中使用Spring框架,見證了Spring框架的成長。下面從我的工作體會說一說 “必須要學”的原因吧。
Spring框架已經(jīng)成為Java企業(yè)級開發(fā)的事實標準

目前在Java企業(yè)級開發(fā)領(lǐng)域,Spring框架已經(jīng)成為事實標準了。
Spring已經(jīng)不是單一的框架,而是一個生態(tài)系統(tǒng)了。包括了以下組件:
- Spring Framework (例如:依賴注入DI、AOP ...)
- Spring Boot
- Spring Cloud
- Spring Data
- Spring Security
- Spring Batch
- Spring Social
從上面可以看出,Spring生態(tài)中已經(jīng)提供了企業(yè)級開發(fā)中大部分應(yīng)用場景的解決方案。
其中Spring Boot可以幫助我們簡化Spring開發(fā),提高開發(fā)效率;Spring Cloud用于分布式微服務(wù)開發(fā);Spring Security則幫助解決了系統(tǒng)中安全部分的設(shè)計。
Spring框架本身包含了:
- Dependency Injection依賴注入
- AOP編程(聲明式事務(wù)處理)
- Spring MVC 和 RESTful web服務(wù)框架
- 對于JDBC, JPA, JMS的基礎(chǔ)支持
學習Spring框架不僅能夠?qū)W習新的思想(IOC,AOP),而且更重要的是能夠解決在企業(yè)開發(fā)中的一些“頭疼”問題,大大簡化開發(fā)。例如:使用AOP簡化事務(wù)處理、使用注解簡化配置等。
學習Spring建議的過程是:Spring框架 -> Spring Boot -> Spring Data
學習和研究Spring框架是提升開發(fā)能力的重要途徑

學習Spring框架過程中,閱讀和研究Spring框架源碼是必經(jīng)之路。
對于程序員而言,如何提高代碼的開發(fā)能力?其中最重要的方法就是:閱讀框架源代碼,學習代碼在設(shè)計上的優(yōu)雅之處。
框架在設(shè)計上是體現(xiàn)了“最大限度的重用性、擴展性”的。為了達到這一點,代碼設(shè)計上應(yīng)用了大量設(shè)計模式、接口化抽象設(shè)計等。
研究框架代碼能夠幫助程序員提高代碼設(shè)計能力、提高抽象化分析能力、提高代碼調(diào)試能力等。
Spring框架作為目前Java業(yè)界應(yīng)用最廣泛的框架之一,非常有必要細心品位。

