xmlBeanDefinitionReader:
1.loadBeanDefinitions — —> doLoadBeanDefinitions ——> registerBeanDefinitions
DefaultBeanDefinitionDocumentReader
1.registerBeanDefinitions — —> doRegisterBeanDefinitions (AOP思想) ——> parseBeanDefinitions
— —> parseDefaultElement
— —> processBeanDefinition:
BeanDefinitionReaderUtils.registerBeanDefinition(注册bean)
DefaultListableBeanFactory:
1.registerBeanDefinition:由ConcurrentHashMap管理bean(创建,更新,销毁等等) — — 工厂模式
设计:BeanDefinition(抽象),BeanFactory等等构成
bean的创建是通过bean的解析,校验然后通过BeanDefinitionReaderUtils生成,并用BeanDefinition包装
spring会帮你管理bean以及bean的依赖
spring:事务管理,持久化等等
1.threadlocal解决带状态的bean问题(线程局部变量)
2.DI或IOC容器:通过工厂模式实现(反射),动态注入需要的依赖,管理bean的生命周期——解耦,提高并发性能