spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

在之前1.0版本做了优化处理之后,对AOP做了详细补充以及底层 源码的实现。

spring 中是我们常见的bean bean的生命周期以及初始化过程    

Spring ioc(控制反转)

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

1 ClassPathXmlApplicationContext类  容器加载配置文件bean.xml 文件 通过构造方法

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

2 AbstractApplicationContext 在这个类中初始化 refresh()方法

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

调用obtainFreshBeanFactory()

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

加载loadBeanDefinitions()方法 加载配置文件路径

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

XmlBeanDefinationReader、加载xml文件    

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

解析xml文件

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

registerBeanDefinaton()

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

3 在finishBeanFactoryInitialization() 中完成bean的 初始化  

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

在类DefaultListableBeanFactory  preInstantiateSingletons()方法

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

AbstractBeanFactory 类 调用getBean() doGetBean() createBean()方法

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

AbstractAutowireCapableBeanFactory 类中的 createBean() doCreateBean()方法 创建bean的实例

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

this.populateBean()方法给属性赋值

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

初始化bean 这个方法完成bean的代理

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

AbstractAutoProxyCreator类完成对象的代理

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

createProxy()方法

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

DefaultAopProxyFactory 类 createAopProxy()判断代理模式

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

从ioc容器中获取 

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

在DefaultSingletonBeanRegistry 类中获取bean  spring 的三级缓存

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

包括bean的前置和后置处理器

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本

bean的使用完之后 就destory()方法销毁

Spring DI (依赖注入)  图解

spring中bean的生命周期以及初始化过程 以及IOC AOP 2.0版本