backTo: https://blog.csdn.net/qq_17079255/article/details/116025027
最近看代码,由于代码的调用层级深度比较多,层层深入到某处时,已经忘记了身处何处,虽然自己可以使用一些画图工具来时序图,但是,这种情况下,自己画时序图很繁琐,比较浪费时间,上网找了一下IDEA有一个插件可以自动生成时序图,工具名称:SequenceDiagram
相关链接
https://plugins.jetbrains.com/plugin/8286-sequencediagram
下载安装
方式1(废弃20210422)
可以在IDEA的Plugins中搜索上面的插件名,就可以安装插件了,如下图:
方式2(废弃20210422)
如果在IDEA的插件搜索中未找到插件,可以从官网上下载,然后在IDEA中选择“本地安装”即可,插件的下载地址:https://plugins.jetbrains.com/plugin/8286-sequencediagram/versions。
方式3(可用20210422)
因为在官网插件地址找不到适合2019.3版本的插件,所以前两种方式废弃。现在的方式是
:去GitHub上进入release中找到SequenceDiagram v1.3 在assets中找到SequencePlugin-1.3.zip,就是需要的插件。
使用方式
1、选中方法名(注意不要选类名),然后点击鼠标右键(显示可选项),选择Sequence Diagram
2、根据弹出框,根据自己的情况,设置调用深度,点击OK就可以生成时序图了
3、查看生成的时序图
使用体验
代码
@Test
public void testSimpleLoad(){
BeanFactory bf = new XmlBeanFactory(new ClassPathResource("beanFactoryTest.xml"));
MyTestBean mb = (MyTestBean) bf.getBean("myTestBean");
System.out.println(mb.getTestStr());
}
生成的时序图
getBean()的callee方法
缺陷
- 无法识别多态,接口如果有多个实现类,无法继续深入。比如上面的getBean()方法,由于定义为BeanFactory是一个接口,所以调用getBean()之后就直接返回,因为它不知道该进入到4个实现类中的哪一个。