Spring Inversion of Control (IoC) also known as
Dependency Injection (DI) is a process by which
objects define their dependencies with collaborating objects.
The attribute destroy-method allows us to specify a no-argument method as
a destruction callback method. Instead of specifying bean level destruction callbacks
Spring provides a way to define it for all beans defined in bean configuration file using
default-destroy-method attribute.
System.out.println("Initializing ApplicationContext");
ApplicationContext factory = new ClassPathXmlApplicationContext("default_init.xml");
System.out.println("ApplicationContext Initialized");
System.out.println("Accessing first bean");
SimpleInitBean2 first = (SimpleInitBean2) factory.getBean("first");
System.out.println(first);
System.out.println("Accessing second bean");
SimpleInitBean2 second = (SimpleInitBean2) factory.getBean("second");
System.out.println(second);
}
}
It gives the following output,
Initializing ApplicationContext
ApplicationContext Initialized
Accessing first bean
SimpleDisposableBean2[FIRST]
Accessing second bean
SimpleDisposableBean2[SECOND]
In custom destroy callback : SECOND
In custom destroy callback : null
In custom destroy callback : FIRST
In custom destroy callback : null