LifeCycle定义Spring容器对象的生命周期,任何spring管理对象都可以实现该接口。
当ApplicationContext本身接收启动和停止信号(例如在运行时停止/重启场景)时,spring容器将在容器上下文中找出所有实现了LifeCycle及其子类接口的类,并一一调用它们实现的类。spring是通过委托给生命周期处理器LifecycleProcessor来实现这一点的。
LifeCycle定义了三个方法,任何Bean实现了LifeCycle方法,当ApplicationContext收到start,stop or restart等信号的时候,就会调用对应的方法。所以在应用程序中可以通过实现LifeCycle接口获得容器生命周期的回调,实现业务扩展。LifeCycle定义如下:
```lang=Java
public interface Lifecycle {
// 启动
void start();
// 停止
void stop();
// 是否运行
boolean isRunning();
}
```