tips
dependentBeanMap:翻译:依赖的Bean的map。即key是被依赖的bean,(被注入的bean),value表示依赖的bean的集合;
dependenciesForBeanMap:翻译:bean的依赖。即key表示 被依赖的bean,value表示 依赖bean的集合。
换句话说:dependentBeanMap 和dependenciesForBeanMap 都是描述的value值,
dependentBeanMap:存储的是依赖的bean (通俗点:被@Service、@Component注解修饰)
dependenciesForBeanMap:存储的是bean的依赖(通俗点:被@Autowired、@Resource修饰)
用途
DefaultSingletonBeanRegistry中有两个beanMap,容易记混,特此记录下:
- dependentBeanMap: 记录一个bean被多少bean依赖;(该bean被多少bean当做成员变量用@Resource、@Autowired修饰)
- dependenciesForBeanMap:记录一个bean依赖了多少bean;(通俗点:一个bean里面有多少个@Atuwowired、@Resource)
例子:
class Student{
@Resource
Teacher teacher;
}
这个例子中:
beanName="teacher";dependentBeanName="student"
dependentBeans = dependentBeanMap.getIfAbsent(beanName,new Set())
dependentBeans.add(dependentBeanName)
dependenciesForBeans=dependenciesForBeanMap.getIfAbsent(beanName
,new Set());
dependenciesForBeans.add(dependentBeanName)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。