мой bean.xml
привет друзья .., я только изучаю весну . я реализую интерфейс BeanPostProcessor в HelloWorld.java. его методы вызываются для всех других компонентов, но не для него самого (компонент Helloworld.java)
<bean id="helloWorld" class="com.tutorialspoint.HelloWorld" > </bean>
<!-- Definition for textEditor bean -->
<bean id="textEditor" class="com.tutorialspoint.TextEditor">
<property name="spellChecker" ref="spellChecker"/>
</bean>
<!-- Definition for spellChecker bean -->
<bean id="spellChecker" class="com.tutorialspoint.SpellChecker">
</bean>
Helloworld.java
public class HelloWorld implements BeanPostProcessor {
@Override
public Object postProcessAfterInitialization(Object bean, String name)
throws BeansException {
System.out.println();
System.out.println(bean.getClass().getName() +"---------------"+name+"--->This is after bean initialized ");
return bean;
}
@Override
public Object postProcessBeforeInitialization(Object bean, String name)
throws BeansException {
System.out.println(bean.getClass().getName() +"---------------"+name+"----------->This is before bean initialized ");
return bean;
}
}
основная программа
public class MainApp {
public static void main(String arg[])throws Exception{
AbstractApplicationContext context = new ClassPathXmlApplicationContext("Bean.xml");
}
}
мой вывод
com.tutorialspoint.SpellChecker---------------spellChecker----------->This is before bean initialized
com.tutorialspoint.SpellChecker---------------spellChecker--->This is after bean initialized
com.tutorialspoint.TextEditor---------------textEditor----------->This is before bean initialized
com.tutorialspoint.TextEditor---------------textEditor--->This is after bean initialized
почему методы интерфейса BeanPostProcessor не вызываются для HelloWorld.java .., но вызываются для других несвязанных компонентов, которые не реализуют интерфейс BeanPostProcessor ..?