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