IOC容器
启动时期: 1.会调用DefaultResourceLoader类加载解析xml文件的各个节点 2.BeanDefinitionReader会将加载出来的xml信息封装成beandefinition 3.之后BeanDefinitionRegistry会将bean定义存储在一个concurrenthashmap中
启动完成getbean时期: 1.用户getbean之后会直接调用beanfactory 2.beanfactory会判定获取的bean是单例bean还是多例bean 3.如果是单例bean回到singleobjects的一个concurrenthashmap中获取,如果获取不到则会创建,添加到concurrenthashmap之后返回,如果是多例bean直接创建之后返回。
创建bean的时候都用到了反射。