destroy method : 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="CustomDestroyMethodNumberClass"
        destroy-method="close"/>
</beans>

File: Main.java

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

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"));

    CustomDestroyMethodNumberClass numberClass = (CustomDestroyMethodNumberClass) beanFactory
        .getBean("numberClass");

    beanFactory.destroySingletons();

    System.out.println(numberClass.getNumbers());
  }
}

class CustomDestroyMethodNumberClass {
  private List<String> numbers = new ArrayList<String>();

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

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

  public void close() throws Exception {
    System.out.println("closing");
    this.numbers = null;
  }
}
  Download:  Spring-destroy-method.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