springIOC 容易负责管理Bean的生命周期,允许你在它们的生命期特定时点执行自定义任务,你的任务应该封装在回调方法中,由spring IoC容器在核实的时候调用
下面的列表展示了SpringIoC容器管理Bean周期的步骤
① 构造程序或者工厂方法创建Bean实例
② 向Bean属性设置值和Bean引用
③ 调用初始化回调方法
④ Bean就绪
⑤ 容器关闭时,调用析构回调方法
Spring由三种识别初始化和析构回调方法的方式,
第一,你的Bean可以实现InitializingBean 和 DisposableBean生命周期接口,并且实现用于初始化和析构的afterPropertiesSet() 和destroy()方法
第二,你可以在Bean声明中设置init-method和destroy-method属性,指定回调方法名称
第三,可以用声明周期注解@PostConstruct和@PreDestroy注解初始化和析构回调方法
工作原理
先来考虑一个涉及结账功能的示例
下面的Cashier类可以用于购物车中产品的结账,
public class Cashier {
private String name;
private String path;
private BufferedWriter writer;
public void setName(String name) {
this.name = name;
}
public void setPath(String path) {
this.path = path;
}
public void openFile() throws IOExcept