在实际工程应用中,经常需要在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();
    }
}