Java Swagger的注释类是怎么被调用到的

109 阅读1分钟

比如我有一个Swagger2的Java类,里面有一个方法createRestApi, 这个方法加了@Bean的注解,负责生成Swagger文档。
在这里插入图片描述
那么Spring框架是如何知道使用createRestApi来生成文档呢?

可以自己弄清楚,只需在上述代码第17行设置断点,然后进入调试模式,观察调用栈:
在这里插入图片描述
发现createRestApi作为一个bean被注入:
在这里插入图片描述
注入发生在方法DefaultListableBeanFactory.preInstantiateSingletons,第733行的this.beanDefinitionNames包含了我这个应用所有检测到的运行时Bean:
在这里插入图片描述

我这个应用连同Spring标准的Bean,总共有329个Bean:

在这里插入图片描述
要获取更多Jerry的原创文章,请关注公众号"汪子熙":