File: context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="simple1" class="SoutSimpleBean">
<property name="person" value="A"/>
<property name="value" value="my value"/>
</bean>
</beans>
File: Main.java
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;
public class Main {
public static void main(String[] args) throws Exception {
XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("context.xml"));
System.out.println(factory.getBean("simple1"));
}
}
class SoutSimpleBean extends SimpleBeanSupport {
private String person;
public void setPerson(String person) {
this.person = person;
}
@Override
public String toString() {
return String.format("%s : \"%s\"", this.person, getValue());
}
}
abstract class SimpleBeanSupport implements InitializingBean {
private String value;
public final void afterPropertiesSet() throws Exception {
}
public final void setValue(String value) {
this.value = value;
}
protected final String getValue() {
return this.value;
}
}
Download: Spring-BeanLiftCycleInitializing.zip( 2,599 k)