Spring通过类型找beanName
2022-04-03 15:54:05 5 举报
Spring通过类型找beanName
作者其他创作
大纲/内容
获取合并后RootBeanDefinition
遍历beanDefinitionNames
那就当做普通对象来比较class是不是跟type一致,是的话就添加到结果集
不是
判断是不是加了&前缀
是
FactoryBean实际上是有两个bean,执行getBean方法并且参数为FactoryBean的userName获取的bean是通过getObject()返回的如果想要获取FactoryBean的这个对象,可以传&FactoryBeanName这个名称
继续遍历下一个beanName
否
抽象的bd是不能实例化的
从单例池获取beanName实例
入口
不为空
DefaultListableBeanFactory#getBeanNamesForType
是否匹配成功
是不是FactoryBean
说明还没有创建bean那么就获取bd,通过bd来进行相同的判断
beanName添加到结果集中
为空
这里就是FactoryBean里面需要有个font color=\"#f44336\
直接通过class类型进行比较
那就调用FactoryBean#getObjectType方法来做比较
判断是不是FactoryBean
判断是不是抽象的bd
收藏
收藏
0 条评论
下一页