import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
public class MyBean implements InitializingBean, DisposableBean {
public MyBean() {
System.out.println("+0------------构造器调用");
}
@PostConstruct
public void postConstruct() {
System.out.println("+1------------postConstruct");
}
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("+2------------afterPropertiesSet");
}
public void initMethod() {
System.out.println("+3------------init-method------xml中配置bean的init-method");
}
@PreDestroy
public void preDestroy() {
System.out.println("-1------------preDestroy");
}
@Override
public void destroy() throws Exception {
System.out.println("-2------------destroy");
}
public void destroyMethod() {
System.out.println("-3------------destroy-method------xml中配置bean的destroy-method");
}
// <bean class="com.xxx.MyBean" init-method="initMethod"
// destroy-method="destroyMethod" />
public static void main(String[] args) {
// 使用Spring 对bean 初始化到销毁的调用顺序
// +0------------构造器调用
// +1------------postConstruct
// +2------------afterPropertiesSet
// +3------------init-method
// -1------------preDestroy
// -2------------destroy
// -3------------destroy-method
}
}