page contents

spring的DI源码分析如何定位的入口是getBean方法?

Pack 发布于 2020-01-20 16:04
阅读 519
收藏 0
分类:Java开发

tom老师,今天看spring的DI源码分析,有点疑问:
您说是从getBean方法作为入口进行分析,可是如何确定的是这里就是入口呢?
就这个问题我进行逆序排查:推测调用getBean的方法找到DefaultListableBeanFactory的getBeansWithAnnotation调用到getBean(beanName)方法,因为DefaultListableBeanFactory实现了接口ListableBeanFactory,接口ListableBeanFactory中只是声明了getBeansWithAnnotation,
而AbstractApplicationContext类对getBeansWithAnnotation方法的实现调用DefaultListableBeanFactory的getBeansWithAnnotation方法;DefaultListableBeanFactory的getBeansWithAnnotation调用的getBean,问题是哪里调用的DefaultListableBeanFactory的getBeansWithAnnotation呢?我没找到调用的源码,希望老师帮忙梳理一下

234
Pack
Pack

确定和验证入口,直接打断点调试就可以了。
Spring的取bean的主要入口是依赖注入

请先 登录 后评论