-
什么是BeanFactory?
是ApplicationContext的父接口
Spring的核心容器,主要的ApplicationContext实现(或者组合)了它的功能
单例的bean存储在singletonObjects中
-
BeanFactory的作用
控制反转,基本的依赖注入,直至Bean的生命周期的各种功能,都有它实现
DefaultSingletonBeanRegistry中的singletonObjects存放了单例的对象
查看singletonObjects中的存储内容
private void getSingletonObjects(AnnotationConfigWebApplicationContext context) {
try {
Field singletonObjects = DefaultSingletonBeanRegistry.class.getDeclaredField("singletonObjects");
singletonObjects.setAccessible(true);
BeanFactory parentBeanFactory = context.getBeanFactory();
Object o = singletonObjects.get(parentBeanFactory);
System.out.println(o);
// Map<String, Object> m