Implements Disposable Bean : XML Bean Lifecycle « Spring « Java Tutorial






File: context.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
   <bean id="numberClass"
      class="DisposableBeanNumberClass"/>
</beans>

File: Main.java

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;

public class Main {

  public static void main(String[] args) throws Exception {
    ConfigurableListableBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource(
        "context.xml"));
    DisposableBeanNumberClass numberClass = (DisposableBeanNumberClass) beanFactory
        .getBean("numberClass");
    beanFactory.destroySingletons();
    System.out.println(numberClass.getNumbers());
  }
}

class DisposableBeanNumberClass implements DisposableBean {
  private List<String> numbers = new ArrayList<String>();

  public DisposableBeanNumberClass() {
    this.numbers.add("one");
    this.numbers.add("two");
    this.numbers.add("three");
  }

  public List<String> getNumbers() {
    return this.numbers;
  }

  public void destroy() throws Exception {
    this.numbers = null;
  }
}
  Download:  Spring-ImplementsDisposableBean.zip( 2,599 k)








28.7.XML Bean Lifecycle
28.7.1.destroy method
28.7.2.Custom Initialization Method
28.7.3.Bean Liftcycle Initializing
28.7.4.Bean Lifecycle Disposable Bean
28.7.5.Implements Initializing Bean
28.7.6.Implements Disposable Bean