1.Spring IOC基础

1.1资源和资源加载器接口

1.2BeanFactory分析

image.png

  1. BeanFactory
  2. - 定义父子工厂接口: HierarchicalBeanFactory
  3. - ListableBeanFactory: 实现是DefaultListableBeanFactory,保存了ioc容器中核心的信息
  4. - AutowireCapableBeanFactory: 自动装配
  5. - GenericApplicationContext组合了档案馆,它有自动装配能力
  • Bean .xml的注册流程到将bean放入到DefaultListableApplicationContext

image.png

BeanFactory和ApplicationContext区别

BeanFactory是Spring框架中IOC容器的接口,他只是用来定义一些基础功能,定义一些基础规范,二ApplicationContext是它的子接口,所以ApplicationContext是具备BeanFactory提供的全部功能

通常我们称BeanFactory为Spring的IOC基础容器,ApplicationContext是容器的高级接口,比BeanFactory拥有更多的功能,比如国际化资源,资源访问(xml)等等
image.png
image.png

1.3 BeanDefinition(DefaultListableBeanFactory)档案馆流程分析

1.3.1 ClassPathXmlApplicationContext

未命名文件.jpg

1.4 Aware 接口什么赋值

image.png

Aware 类型接口

image.png

1.5 BeanFactory后置处理器

注意 执行流程

  1. BeanDefinitionRegistryPostProcessor

    1. BeanFactoryPostProcessor

1.1 分析BeanDefinitionRegistryPostProcessor—工厂后置处理器

  1. 流程图分析

未命名文件.png

  1. 代码分析

    1.2 分析BeanFactoryPostProcessor—工厂后置处理器

    image.png

1.6 Bean的后置处理器

执行流程

  1. BeanPostProcessor
  2. InstantiationAwareBeanPostProcessor
  3. MergedBeanDefinitionPostProcessor
  4. SmartInstantiationAwareBeanPostProcessor

1.1.1

1.1.2BeanPostProcessor流程分析

1.7 Bean 创建过程

1.1.1 Bean对象初始化方式

image.png