比如我有一个Swagger2的Java类,里面有一个方法createRestApi, 这个方法加了@Bean的注解,负责生成Swagger文档。
那么Spring框架是如何知道使用createRestApi来生成文档呢?
可以自己弄清楚,只需在上述代码第17行设置断点,然后进入调试模式,观察调用栈:
发现createRestApi作为一个bean被注入:
注入发生在方法DefaultListableBeanFactory.preInstantiateSingletons,第733行的this.beanDefinitionNames包含了我这个应用所有检测到的运行时Bean:
我这个应用连同Spring标准的Bean,总共有329个Bean:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
本文同步分享在 博客“汪子熙”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。