一、总结
1、Spring为Bean初始化提供了两种方式
- 实现InitializingBean接口,它只有afterPropertiesSet方法,在初始化bean的时候会执行该方法。
- 在配置文件中通过init-method指定
3、如果调用afterPropertiesSet方法时出错,则不调用init-method指定的方法。
4、在spring初始化bean的时候,如果该bean是实现了InitializingBean接口,并且同时在配置文件中指定了init-method,系统则是先调用afterPropertiesSet方法,然后在调用init-method中指定的方法。
二、示例
定义类:
package com.learn.common;
import org.springframework.beans.factory.InitializingBean;
public class StartLoad implements InitializingBean
{
@Override
public void afterPropertiesSet() throws Exception
{
System.out.println("Spring一启动,我就被执行了!");
}
public void loadMe()
{
System.out.println("Spring启动,我也要执行!");
}
}
Spring配置文件添加:
<bean id="startLoad" class="com.learn.common.StartLoad" init-method="loadMe"/>
启动项目,打印如下结果:
Spring一启动,我就被执行了!
Spring启动,我也要执行!