destroy method
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; } }