码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-11-29 18:26:55      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:style   auth   测试   通过   import   ring   factor   com   div   

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初始化与销毁的几种方式和区别

标签:style   auth   测试   通过   import   ring   factor   com   div   

原文地址:http://www.cnblogs.com/duanhm234/p/7921533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!