實現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...