Spring中Bean的生命周期

Spring中Bean的生命周期

任何对象的生命周期都离不开实例化, 使用, 销毁这三个步骤。

Spirng中的Bean的生命周期也是如此,不过Spring给Bean的生命周期增加了很多的拓展点,供用户去使用,下面来具体介绍一下。

1.创建对象

Spring去读取指定的配置文件或者解析注解来获取Bean的定义信息,在容器内部生成BeanDefinition,经过一些BeanFactoryPostProcessor来处理这些信息,比如把文件中的${jdbc.username}这种表达式解析成具体的值,有了BeanDefinition之后,再通过反射的方式去创建这个对象。

2.依赖注入

Spring在容器中寻找这个Bean所依赖的其他对象,将其引用填充到这个对象的成员变量。

3.Aware相关接口

在第二步依赖注入的时候,只会注入一些普通的对象,并不能注入像ApplicationContextBeanFactoryBeanName 这些对象,这种对象必须通过实现相关的Aware接口来注入。

4. BeanPostProcessor前置方法

在这里会开始真正的初始化,会先调用BeanPostProcessor的前置方法。

5. 调用初始化方法

调用一系列的初始化方法,执行用户指定的初始化方法,通过init-method这个属性配置。如果这个类实现了initializingBean接口的话,还回去调用afterPropertySet()方法。

6. BeanPostProcessor后置方法

执行完这个方法,Bean就算真正的创建完毕了,Spring的Aop也是通过这个方法来实现的,会为这个对象创建一个代理的对象,并将这个对象放进容器中。后面就是使用对象,最后销毁对象了。

你可能感兴趣的:(java日记,spring,java,后端)