Spring中Bean的生命周期的意义:可以利用Bean在其存活期间的特定时刻完成一些相关操作。这种时刻可能有很多,但一般情况下,常会在Bean的postinitiation(初始化后)和predestruction(销毁前)执行一些相关操作。
Bean的生命周期管理: Spring容器可以管理Bean部分作用域的生命周期。
singleton
作用域
Spring容器可以管理singleton作用域的Bean的生命周期,在此作用域下,Spring能够精确的知道该Bean何时被创建,何时初始化完成,以及何时被销毁。prototype
作用域
prototype作用域的Bean,Spring只负责创建,当容器创建了Bean实例后,Bean的实例就交给客户端代码来管理,Spring容器将不再跟踪其生命周期。
生命周期图:
生命周期的接口以及方法,
- BeanNameAware 接口
先implements
继承到接口,import
导入相对应的包,然后再重写setBeanName
方法,该方法可以获得本身的id属性,代码如下所示:
@Override
public void setBeanName(String arg0) { //获得本身bean的id属性。
System.out.println("Bean对象名:"+arg0);
}
-
BeanFactoryAware接口
同上继承接口,再导入包,重写方法。该接口可以找到相应的beanfactory的实例引用 -
ApplicationContextAware接口