有两种方法可以实现Bean的之前初始化方法。1、使用“init-method”属性,在Spring的配置文件中定义回调方法。下面将会具体描述。2、实现接口InitializingBean并实现它的afterPropertiesSet()方法。接口InitializingBean的代码如下:
public interface InitializingBean {
void afterPropertiesSet() throws Exception;
}
在JavaBean的所有属性设置完成以后,容器会调用afterPropertiesSet()方法,应用对象可以在这里执行任何定制的初始化操作。这个方法允许抛出最基本的Exception异常,这样可以简化编程模型。
在Spring框架内部,很多bean组件都实现了这些回调接口。但我们的Bean组件最好不要通过这种方式实现生命周期的回调,因为它依赖于Spring的API。无疑,第一种方法是我们的最佳选择。
init-method
init-method的功能和InitializingBean接口一样。它定义了一个Bean的初始化方法,在Bean的所有属性设置完成之后自动调用。这个初始化方法不用依赖于Spring的任何API。它必须是一个无参数的方法,可以抛出Exception。
Bean的准备就绪(Ready)状态
Bean完成所有的之前初始化之后,就进入了准备就绪(Ready)状态。这就意味着你的应用程序可以取得这些Bean,并根据需要使用他们。
Bean的销毁
在你关闭(或重启)应用程序时,单例(Singleton)Bean可以再次获得生命周期的回调,你可以在这时销毁Bean的一些资源。第一种方法是实现DisposableBean接口并实现它的destroy()方法。更好的方法是用“destroy-method”在Bean的定义时指定销毁方法。
public interface InitializingBean {
void afterPropertiesSet() throws Exception;
}
在JavaBean的所有属性设置完成以后,容器会调用afterPropertiesSet()方法,应用对象可以在这里执行任何定制的初始化操作。这个方法允许抛出最基本的Exception异常,这样可以简化编程模型。
在Spring框架内部,很多bean组件都实现了这些回调接口。但我们的Bean组件最好不要通过这种方式实现生命周期的回调,因为它依赖于Spring的API。无疑,第一种方法是我们的最佳选择。
init-method
init-method的功能和InitializingBean接口一样。它定义了一个Bean的初始化方法,在Bean的所有属性设置完成之后自动调用。这个初始化方法不用依赖于Spring的任何API。它必须是一个无参数的方法,可以抛出Exception。
Bean的准备就绪(Ready)状态
Bean完成所有的之前初始化之后,就进入了准备就绪(Ready)状态。这就意味着你的应用程序可以取得这些Bean,并根据需要使用他们。
Bean的销毁
在你关闭(或重启)应用程序时,单例(Singleton)Bean可以再次获得生命周期的回调,你可以在这时销毁Bean的一些资源。第一种方法是实现DisposableBean接口并实现它的destroy()方法。更好的方法是用“destroy-method”在Bean的定义时指定销毁方法。