一. 概述
在之前我们说过Bean的创建和初始化在spring之中分得很清楚.
之所以是这样的原因,spring为我们提供了自定义Bean的控制.
二 .配置实现初始化和销毁的控制
public class User { public void init() { System.out.println("init 执行了 ..."); } public User() { System.out.println("构造函数执行了..."); } public void destroy() { System.out.println("销毁方法执行了..."); }}
我们创建了一个User类,除了构造函数之外,我们还提供了两个方法.
配置文件:
测试代码:
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring.xml"); context.getBean("user"); context.close();
运行结果:
构造函数执行了...init 执行了 ...五月 25, 2018 9:49:06 下午 org.springframework.context.support.ClassPathXmlApplicationContext doClose信息: Closing org.springframework.context.support.ClassPathXmlApplicationContext@5d099f62: startup date [Fri May 25 21:49:06 CST 2018]; root of context hierarchy销毁方法执行了...
我们发现执行的顺序是构造函数,初始化方法,销毁方法.
三 . 总结
spring通过初始化和销毁方法帮助我们实现自定义的Bean的处理.
这是一种回调的策略,在spring之中大量存在,后面我们会了解到各种回调的方式.