IDEA 源码阅读利器,你居然还不会?

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 

14fe7f374b0c43b6c6257729c9e681a9.gif

👉这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号等等功能:

  • Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro

  • Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud

  • 视频教程:https://doc.iocoder.cn

【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本 

来源:cnblogs.com/deng
-cc/p/6927447.html


最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到 Servlet 部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟。

这次利用了 IDEA 的 diagram,结果一目了然,也是好用到炸裂,就此分享。

1、查看图形形式的继承链

在你想查看的类的标签页内,点击右键,选择 Diagrams,其中有 show 和 show ... Popup,只是前者新建在标签页内,后者以浮窗的形式展示:

0217eacc88104740b57793a73a1b900a.png

实际上,你也可以从左边的项目目录树中,对你想查看的类点击右键,同样选择 Diagrams,效果是一样的:

21b90daa1e2d706dadf00d446a943b70.png

然后你就会得到如下图所示的继承关系图形,以自定义的 Servlet 为例:

bb05825d211a756632738069e331401a.png

显而易见的是:

  • 蓝色实线箭头 是指继承关系

  • 绿色虚线箭头 是指接口实现关系

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

2、优化继承链图形,想我所想

2.1 去掉不关心的类

得到的继承关系图形,有些并不是我们想去了解的,比如上图的 Object 和 Serializable,我们只想关心 Servlet 重要的那几个继承关系,怎么办?

简单,删掉。点击选择你想要删除的类,然后直接使用键盘上的 delete 键就行了。清理其他类的关系后图形如下:

db4256c2c41c806892bf3a3c742394ae.png

2.2 展示类的详细信息

有人说,诶,这怎么够呢,那继承下来的那些方法我也想看啊?简单,IDEA 通通满足你。

在页面点击右键,选择 show categories,根据需要可以展开类中的属性、方法、构造方法等等。当然,第二种方法也可以直接使用上面的工具栏:

6e3cab0b2fda74dba9ae8aacdca92dfa.png

然后你就会得到:

4adc2f7b76918936fdc8794c366a975c.png

什么,方法里你还想筛选,比如说想看 protected 权限及以上范围的?简单,右键选择 Change Visibility Level,根据需要调整即可。

e33235353f70fee9509c6b05f4f640fa.png

什么,你嫌图形太小你看不清楚?IDEA 也可以满足你,按住键盘的 Alt,竟然出现了放大镜,惊不惊喜,意不意外?522a72f8bda6e1c7455925e58a536833.png

2.3 加入其他类到关系中来

当我们还需要查看其他类和当前类是否有继承上的关系的时候,我们可以选择加其加入到当前的继承关系图形中来。

在页面点击右键,选择 Add Class to Diagram,然后输入你想加入的类就可以了:

e4e1c2b698d8d9320b6c36c13034fd8e.png

例如我们添加了一个 Student 类,如下图所示。好吧,并没有任何箭头,看来它和当前这几个类以及接口并没有发生什么不可描述的关系:

611c3a63d4c82c860dbe39118ab4e7e9.png

2.4 查看具体代码

如果你想查看某个类中,比如某个方法的具体源码,当然,不可能给你展现在图形上了,不然屏幕还不得撑炸?

但是可以利用图形,或者配合 IDEA 的 structure 方便快捷地进入某个类的源码进行查看。

双击某个类后,你就可以在其下的方法列表中游走,对于你想查看的方法,选中后点击右键,选择 Jump to Source:

4062714314372b77610c8a3f920fe645.png a8b14d248d7bb0c2de6960eae7584f57.png

在进入某个类后,如果还想快速地查看该类的其他方法,还可以利用 IDEA 提供的 structure 功能:

0e8597125d339ad6356797eaea303d2b.png

选择左侧栏的 structure 之后,如上图左侧会展示该类中的所有方法,点击哪个方法,页面内容就会跳转到该方法部分去。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

3、最后

用上面提到的的 IDEA 这些功能,学习和查看类关系,了解诸如主流框架源码之类的东西,可以说是非常舒服了。


欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,长按”或“扫描”下方二维码噢

8625fe3b522db1471880f83fd4ad7b84.png

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

ab003fc499a8f214aa751c11712f5734.png

a0dcfb2a395c96a9c221f46eafb5dda7.png9ac0d4ad83587247e6cfdc6a573d2d47.pngdd408e9d21d9a4e55cb391c10ce0e9cd.pnga45e049d22eda1c4647a7c350e70a95f.png

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值