Bean的生命周期通常指的是从创建到初始化,经过一系列的流程,最终销毁的过程。只不过,在Spring框架中,Bean的生命周期是由Spring IOC容器来管理的。在Spring中,我们定义Bean时,也可以自己指定初始化和销毁的方法。

我们可以通过initMethod指定初始化方法,destroyMethod指定销毁方法。初始化和销毁的方法是Bean对应类中的一个方法看,必须是无参数方法,但可以抛异常。

例如有如下类的定义,

@Setter
@Getter
@Log4j2
public class MyAppProperties {

    private Boolean testFlag;
    private String testName;

    public void init() {
        log.info("Init myAppProperties.");
    }

    public void destroy() {
        log.info("Destroy myAppProperties.");
    }
}

一、通过@Bean注解指定初始化和销毁方法:

@Bean(initMethod = "init", destroyMethod = "destroy")
@ConditionalOnMissingBean(name = {"myAppProperties"})
public MyAppProperties myAppProperties() {
    return new MyAppProperties();
}

二、使用XML方式配置Bean的初始化和销毁方法:

<bean id = "myAppProperties" class="org.example.MyAppProperties" init-method="init" destroy-method="destroy">
    <property name="testFlag" value="true"></property>
    <property name="testName" value="test"></property>
</bean>

推荐使用方式一。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部