首页 > 图灵资讯 > 技术篇>正文

Spring6.0从入门到精通-IoC之Bean的初始化

2024-01-14 13:26:29

 

IoC之bean的初始化

Spring 中,我们可以通过两种方式在 bean 实例化后执行一些初始化操作:使用 init-method 属性或者实现 InitializingBean 接口中的 afterPropertiesSet() 方法。

init-method 属性

init-method 属性是在 XML 配置文件中设置的,用于指定 bean 实例化后需要调用的方法名。例如:

<bean id="myBean" class="com.example.MyBean" init-method="init">
  <property name="someProperty" value="someValue" />
</bean>

这里的 init-method 属性指定了 MyBean 类中的 init() 方法,该方法会在 bean 实例化后被自动调用。

InitializingBean 接口

InitializingBean 是 Spring 框架中的一个接口,其中只有一个方法 afterPropertiesSet()。如果我们的 bean 类实现了这个接口,Spring 容器在初始化 bean 后会自动调用该方法。例如:

public class MyBean implements InitializingBean {

    private string someProperty;

    public void setSomeProperty(String someProperty) {
        this.someProperty = someProperty;
    }

    @Override
    public void afterPropertiesSet() throws Exception {
        // 执行一些初始化操作
    }
}

在上面的代码中,我们实现了 InitializingBean 接口,并重写了 afterPropertiesSet() 方法。当 Spring 容器初始化 MyBean 实例时,会自动调用该方法。

需要注意的是,使用 init-method 属性和实现 InitializingBean 接口的效果是相同的。如果都设置了,Spring 容器会先调用 afterPropertiesSet() 方法,再调用 init-method 属性指定的方法。


 
上一篇 Spring6.0从入门到精通-IoC之@Resource注解
下一篇 详解Spring事件监听

文章素材均来源于网络,如有侵权,请联系管理员删除。