实现InitializingBean接口的afterPropertiesSet()方法,当beanFactory创建好对象,且把bean所有属性设置好之后,会调这个方法,
相当于初始化方法;实现DisposableBean的destory()方法,当bean销毁时,会把单实例bean进行销毁
1、pom.xml依赖
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.6.RELEASE</version> </dependency>
2、实体类
import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.InitializingBean; public class Train implements InitializingBean, DisposableBean { public Train(){ System.out.println("Train无参构造方法"); } @Override public void destroy() throws Exception { System.out.println("Train...destory..."); } @Override public void afterPropertiesSet() throws Exception { System.out.println("Train...afterPropertiesSet..."); } }
3、配置类
import com.it.vo.Train; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class LifeCycleConfig { @Bean public Train train() { return new Train(); } }
4、测试类
import com.it.config.LifeCycleConfig; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class LifeCycleConfigTest { public static void main(String [] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(LifeCycleConfig.class); System.out.println("IOC容器创建完成"); context.close(); } }
//结果:
Train无参构造方法
Train...afterPropertiesSet...
IOC容器创建完成
Train...destory...