在实际工程应用中,经常需要在Bean使用之前或之后做些必要的操作,Spring对Bean的生命周期的操作提供了支持。可以使用@Bean注解的initMethod和destroyMethod属性(相当于XML配置的init-method和destroy-method)对Bean进行初始化和销毁。
演示Bean的初始化和销毁,具体步骤如下 1.使用Eclipse创建Web应用并导入JAR包 2.创建Bean的类 3.创建配置类 4.创建测试类 5.运行测试类
package service; public class MyService { public void initService() { System.out.println("initMethod"); } public MyService() { System.out.println("构造方法"); } public void destroyService() { System.out.println("destroyMethod"); } }
package config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import service.MyService; @Configuration public class JavaConfig { // initMethod和destroyMethod指定MyService类的initService和destroyService方法 // 在构造之后、销毁之前执行 @Bean(initMethod = "initService", destroyMethod = "destroyService") public MyService getMyService() { return new MyService(); } }
package config; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import service.MyService; public class TestInitAndDestroy { public static void main(String[] args) { // 初始化Spring容器ApplicationContext AnnotationConfigApplicationContext appCon = new AnnotationConfigApplicationContext(JavaConfig.class); MyService ms = appCon.getBean(MyService.class); appCon.close(); } }