SpringIOC
SpringIOC
IOC容器加载过程(IOC:控制翻转 DI:依赖注入)
IOC控制反转
用于解决层与层之间的耦合
IOC容器
- 配置类: xml 注解 javaconfig
加载Spring上下文
- new ClassPathXmlApplicationContext(“xml”)
- new AnnotationConfigApplicationContext(config.class)
- getBean()
实例化:
- 反射-Spring
- 工厂-可定义
- 填充属性 @Autowired @Value
- 初始化 initMethod destory
- Map
key:BeanName value:bean的实例 - 单例池(一级缓存)
BeanFactory
Spring顶层核心接口,使用了简单工厂模式,负责生产Bean
- 简单工厂:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类
BeanDefinition:bean定义
Spring顶层核心接口,封装了生产Bean的一切原料
- AbstractBeanDefintion
BeanDefinetionRegistry:注册BeanDefinition
BeanDefinetionReader:读取配置类
BeanDefinitionScanner:Bean扫描
BeanFactoryPostProcessor:修改BeanDefinition
BeanPostProcessor:Bean的后置处理器
BeanDefinitionRegistryPostProcessor:注册BeanDefinition
注意:BeanFactory与ApplicationContext的区别:都有生产Bean的能力,ApplicationContext功能更加丰富,BeanFactory职责单一
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gm4p9GYE-1600585391004)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200920134951286.png)]
还没有评论,来说两句吧...