我的建議是從Spring的源代碼入手。至少我自己也是這麼做的,畢竟Spring裡有大量的設計模式和OO程式設計的最佳實踐。我之前在SAP使用SAP自己的開發語言ABAP進行日常工作,後來因為工作原因也需要用Java開發。雖然SAP之前大多數産品都是基于ABAP開發的,但是現在公司在向雲轉型,越來越多的雲産品是基于Java Spring來開發了。我覺得Spring 5年之内都不會過時,值得程式員花力氣去鑽研。
請閱讀知乎問題: 學習spring源碼的意義是什麼呢?
然後怎麼去學Spring呢?如果一頭紮進Spring的代碼海洋,肯定就直接淹死了。
我的兩個方法:
1. 邊看書邊看源代碼。
我看的是這本書,邊看書,邊自己寫讀書筆記。
如果發現自己提筆卻表達不清楚某個知識點,說明這個知識點自己其實還未真正了解,那麼再回過頭去看書。
下面是我寫過的一些讀書筆記:
Manage your test case with @SuiteClasses
How does @Autowired work in Spring framework
Run only given sets of your unit test via @Category
Use @Rule to define custom rules for your test method
How does annotation @Cacheable work
A simulation of Java Spring dependency injection annotation @Inject in ABAP
2. 邊看源代碼邊自己寫代碼,調試代碼
自己用Spring搭一個Hello World的應用,然後一點點往上添東西。可以參考我的這個Github Repository裡的commit記錄看我是如何添加新的功能的。
不斷寫代碼,調試代碼,把自己學到的新東西寫出來。
為什麼要寫出來呢?
在我的微信公衆号文章SAP成都研究院35歲以上的開發人員都去哪兒了?裡提到,科學研究表明,在實戰中學習,教别人,是最有效的學習方法。
您可以關注微信公衆号”汪子熙“獲得更多Jerry Wang的中文SAP技術文章。