Spring初始化Bean方法

来源:互联网 发布:商业地产it 编辑:程序博客网 时间:2024/05/17 09:01

一、总结

1、Spring为Bean初始化提供了两种方式

  • 实现InitializingBean接口,它只有afterPropertiesSet方法,在初始化bean的时候会执行该方法。
  • 在配置文件中通过init-method指定
2、实现InitializingBean接口是直接调用afterPropertiesSet方法,比通过反射调用init-method指定的方法效率相对来说要高点。但是init-method方式消除了对spring的依赖

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 {@Overridepublic 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启动,我也要执行!




0 0