Spring bean初始化与销毁的几种方式和区别

Posted 舟舟舟舟舟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring bean初始化与销毁的几种方式和区别相关的知识,希望对你有一定的参考价值。

1. <bean> 元素的 init-method/destroy-method属性指定初始化之后 /销毁之前调用的操作方法

2. 指定方法上加上@PostConstruct 或@PreDestroy注解来制定该方法是在初始化之后还是销毁之前调用

3. 通过实现 InitializingBean/DisposableBean 接口来定制初始化之后/销毁之前的操作方法

初始化

package com.*.*.service;

import org.springframework.beans.factory.InitializingBean;

import javax.annotation.PostConstruct;

/**
 * @author dhm
 * @desc
 * @date 2017/11/27
 */

public class TestService implements InitializingBean {
    public TestService(){
        System.out.println("构造方法");
    }


    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("重写InitializingBean的afterPropertiesSet()方法");
    }

    public void initMethod(){
        System.out.println("initMethod方法");
    }

    @PostConstruct
    public void initByPostConstruct(){
        System.out.println("PostConstruct初始化方法");
    }
}
<bean class="com.*.*.service.TestService" init-method="initMethod"/>

测试结果 :

构造方法
PostConstruct初始化方法
重写InitializingBean的afterPropertiesSet()方法
initMethod方法方法

 

销毁

package com.*.*.service;

import org.springframework.beans.factory.DisposableBean;

import javax.annotation.PreDestroy;

/**
 * @author dhm
 * @desc
 * @date 2017/11/27
 */

public class TestService implements DisposableBean {
    public void destroyMethod(){
        System.out.println("destroyMethod方法");
    }

    @PreDestroy
    public void destroyByPreDestroy(){
        System.out.println("PreDestroy销毁前方法");
    }

    @Override
    public void destroy() throws Exception {
        System.out.println("重写DisposableBean的destroy方法");
    }
}
<bean class="com.*.*.service.TestService" destroy-method="destroyMethod"/>

测试结果:

PreDestroy销毁前方法
重写DisposableBean的destroy方法
destroyMethod方法






以上是关于Spring bean初始化与销毁的几种方式和区别的主要内容,如果未能解决你的问题,请参考以下文章

spring笔记--依赖注入之针对不同类型变量的几种注入方式

依赖注入之针对不同类型变量的几种注入方式

Spring在代码中获取bean的几种方式(转)

Spring在代码中获取bean的几种方式

001-Spring在代码中获取bean的几种方式

🙈羞,Spring Bean 初始化/销毁竟然有这么多姿势