spring6(一)
分析
- 底层是如何创建对象的,是通过反射机制调用无参数构造方法吗?
创建对象调用无参数构造方法 - Spring是如何创建对象的呢?原理是什么?
dom4j解析***.xml文件,从中获取class属性值,类的全类名
通过反射机制调用无参数构造方法创建对象。 - 把创建好的对象储存到一个什么样的数据结构当中的?
bean对象最终存储到spring容器中,在spring源码底层就是一个map集合,储存bean的map在
DefaultListableBeanFactory类中
private final Map<String, BeanDefinition> beanDefinitionMap = new ConcurrentHashMap<>(256);
spring容器加载到Bean类时,会把这个类的描述信息,以包名加类名的方式存到beanDefinitionMap中, Map<String, BeanDefinition>,其中String是key,默认是类名首字母小写,beanDefinition,存的是类的定义(描述信息),通常叫BeanDefinition接口为:bean的定义对象。