好比本文,沒有深度思考的同窗,很容易就被表面現象所迷惑,覺得問題就此解決,立馬關掉文章。可是深度思考的同窗就會選擇關注肥朝公衆號,而後星標置頂,並思考,肥朝爲何能迅速找到這個關鍵的類呢?這個纔是最核心的問題!必定要明白什麼叫"解決一個問題"和"解決一類問題"!若是你沒有掌握分析問題的方法和技巧,下次遇到其餘的註解,你仍是解決不了,那又有什麼意義?spring
因爲肥朝以前寫過Dubbo系列的源碼解析,公衆號也大可能是老粉絲,那麼我就以Dubbo爲例,說下分析問題的思路。固然這個時候喜歡擡槓的同窗可能就要反駁了,這個問題不是Springboot的嗎,和Dubbo有什麼關係?我只能說,優秀的代碼,套路思想都基本相同,坑爹的代碼,卻各有各類不一樣的坑法。拿Dubbo來分析,並不影響你發現問題的本質!框架
好比Dubbo中常強調的就是"微核心"、"插件式"。梁飛曾經提過ide
即然要擴展,擴展點的加載方式,首先要統一, 微核心+插件式,是比較能達到OCP原則的思路,由一個插件生命週期管理容器,構成微核心,核心不包括任何功能,這樣能夠確保全部功能都能被替換, 而且,框架做者能作到的功能,擴展者也必定要能作到,以保證平等對待第三方, 因此,框架自身的功能也要用插件的方式實現,不能有任何硬編碼。spring-boot
不少同窗看完這段一臉懵逼。其實這段話的後半部分是關鍵編碼
框架做者能作到的功能,擴展者也必定要能作到,以保證平等對待第三方, 因此,框架自身的功能也要用插件的方式實現,不能有任何硬編碼。idea
因此從這段話肥朝就能夠判定,actuator
若是要用定時器的功能,他確定站在和普通使用者也就是公衆號粉絲使用定時器的角度,去啓動這個定時器的功能。spa
也就是說,spring-boot-starter-actuator
中,確定是有類打上了@EnableScheduling
註解,而不是零散的調用註解底層封裝的一些東西。這個是理論基礎。這個理論基礎,才能決定你下一步的思考和行動方向。插件
有了理論基礎,那麼關鍵是,到底哪一個類打上了啊!這個時候,咱們能夠利用idea的搜索技巧來3d
idea的這個搜索功能很好用,搜索scope能夠設置各類範圍,看源碼必備技能!code
考慮到每一個人的快捷鍵不一樣,所以看下圖
看到這裏,不少人就容易理解成,本篇是介紹idea的技巧的文章。仍是那句話,看問題必定要深度思考。源碼是看不完的,可是解決問題的手段和套路
,倒是有限的。不少同窗看源碼,就只是看個流程,感受像看電影同樣,並無我的的獨立思考,這樣知識的轉換率實在過低。好比你注意看我本文分析的理論基礎
到實踐
,這些經驗,都是須要你從大量的閱讀源碼中不斷去總結的。
因此,請不要再問肥朝,"看源碼,究竟有沒有用","怎麼看源碼"等問題,由於我每一篇源碼解析,源碼實戰,都在回答這兩個問題,若是你還問這種問題,可見你根本就沒有關注肥朝,或者關注了沒有星標置頂!
另外,各類源碼解析系列(注意肥朝的用詞,我說的是系列)還在不斷熱更中,歡迎持續關注,一塊兒"追劇"!