學會 IDEA 的這個功能,閱讀源碼簡直太簡單了!!!
來源:cnblogs.com/deng-cc/p/6927447.html
最近正好也沒什么可忙的,就回過頭來鼓搗過去的知識點,到Servlet部分時,以前學習的時候硬是把從上到下的繼承關(guān)系和接口實現(xiàn)記得亂七八糟。
這次利用了IDEA的diagram,結(jié)果一目了然,也是好用到炸裂,就此分享。
注意
文末有:Java大型分布式網(wǎng)上預(yù)約掛號系統(tǒng)全棧前后端開發(fā)實戰(zhàn)課程視頻教程
1、查看圖形形式的繼承鏈
在你想查看的類的標簽頁內(nèi),點擊右鍵,選擇 Diagrams,其中有 show 和 show ... Popup,只是前者新建在標簽頁內(nèi),后者以浮窗的形式展示:

實際上,你也可以從左邊的項目目錄樹中,對你想查看的類點擊右鍵,同樣選擇Diagrams,效果是一樣的:

然后你就會得到如下圖所示的繼承關(guān)系圖形,以自定義的Servlet為例:

顯而易見的是:
藍色實線箭頭是指繼承關(guān)系
綠色虛線箭頭是指接口實現(xiàn)關(guān)系
2、優(yōu)化繼承鏈圖形,想我所想
2.1 去掉不關(guān)心的類
得到的繼承關(guān)系圖形,有些并不是我們想去了解的,比如上圖的Object和Serializable,我們只想關(guān)心Servlet重要的那幾個繼承關(guān)系,怎么辦?
簡單,刪掉。點擊選擇你想要刪除的類,然后直接使用鍵盤上的delete鍵就行了。清理其他類的關(guān)系后圖形如下:

2.2 展示類的詳細信息
有人說,誒,這怎么夠呢,那繼承下來的那些方法我也想看啊?簡單,IDEA通通滿足你。
在頁面點擊右鍵,選擇 show categories,根據(jù)需要可以展開類中的屬性、方法、構(gòu)造方法等等。當然,第二種方法也可以直接使用上面的工具欄:

然后你就會得到:

什么,方法里你還想篩選,比如說想看protected權(quán)限及以上范圍的?簡單,右鍵選擇 Change Visibility Level,根據(jù)需要調(diào)整即可。

什么,你嫌圖形太小你看不清楚?IDEA也可以滿足你,按住鍵盤的Alt,竟然出現(xiàn)了放大鏡,驚不驚喜,意不意外?

2.3 加入其他類到關(guān)系中來
當我們還需要查看其他類和當前類是否有繼承上的關(guān)系的時候,我們可以選擇加其加入到當前的繼承關(guān)系圖形中來。學習資料:Java進階視頻資源
在頁面點擊右鍵,選擇 Add Class to Diagram,然后輸入你想加入的類就可以了:

例如我們添加了一個Student類,如下圖所示。好吧,并沒有任何箭頭,看來它和當前這幾個類以及接口并沒有發(fā)生什么不可描述的關(guān)系:

2.4 查看具體代碼
如果你想查看某個類中,比如某個方法的具體源碼,當然,不可能給你展現(xiàn)在圖形上了,不然屏幕還不得撐炸?
但是可以利用圖形,或者配合IDEA的structure方便快捷地進入某個類的源碼進行查看。
雙擊某個類后,你就可以在其下的方法列表中游走,對于你想查看的方法,選中后點擊右鍵,選擇 Jump to Source:


在進入某個類后,如果還想快速地查看該類的其他方法,還可以利用IDEA提供的structure功能:

選擇左側(cè)欄的structure之后,如上圖左側(cè)會展示該類中的所有方法,點擊哪個方法,頁面內(nèi)容就會跳轉(zhuǎn)到該方法部分去。
3、最后
用上面提到的的IDEA這些功能,學習和查看類關(guān)系,了解諸如主流框架源碼之類的東西,可以說是非常舒服了。
最近給大家找了? Java大型分布式網(wǎng)上預(yù)約掛號系統(tǒng)全棧前后端開發(fā)實戰(zhàn)課程視頻教程
本課程項目是一個網(wǎng)上預(yù)約掛號系統(tǒng),包含后臺管理系統(tǒng)和前臺用戶系統(tǒng),采用前后端分離開發(fā)模式。項目技術(shù)應(yīng)用廣泛,涵蓋微服務(wù)、全棧、集群、分布式、高并發(fā);技術(shù)應(yīng)用場景合理,并非多技術(shù)的盲目堆疊;業(yè)務(wù)場景貼近實際,按照市場需求開發(fā)。項目后端技術(shù)棧,采用主流的SpringBoot+SpringCloud微服務(wù)架構(gòu),全面使用了目前流行的NoSQL技術(shù),使用Redis緩存數(shù)據(jù),使用MongoDB實現(xiàn)高并發(fā)讀寫,整合消息中間件RabbitMQ提高訂單的并發(fā)量,同時還整合了定時任務(wù),實現(xiàn)就醫(yī)提醒功能,綜合應(yīng)用了阿里云OSS,短信服務(wù)以及微信登錄、微信支付,同時增加了微信退款功能。項目前端技術(shù)棧,采用主流前端框架Vue,使用Nuxt和vue-admin-template模板搭建頁面環(huán)境,采用Element-ui進行頁面布局,Npm進行依賴管理,axios進行異步調(diào)用,使用ECharts進行圖表顯示,實現(xiàn)全棧開發(fā)。
資源,怎么領(lǐng)取?
掃二維碼,加我微信,回復(fù):掛號系統(tǒng)
一定要備注:掛號系統(tǒng),不要急哦,工作忙完后就通過!
如加不了的話,可以晚點再加哦~
