有個朋友在知識星球上向我提問。
我的建議是從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技術文章。