私はSpring DIバージョン4.2を使用しています。 「applicationContext.xml」の内容は次のとおりです。以下は春のメソッドpostProcessBeforeInitialization()、init()およびpostProcessAfterInitialization()メソッドの呼び出しのシーケンス
<bean id="bObj1" class="com.springExample.B" scope="prototype" init-method="init" destroy-method="destory" />
次のように私はライフサイクルメソッドの呼び出しシーケンスを読みました "com.springExample.B"
public class B implements BeanPostProcessor {
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
System.out.println("In class B, Method postProcessBeforeInitialization()");
return bean;
}
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
System.out.println("In class B, Method postProcessAfterInitialization()");
return bean;
}
public void init() {
System.out.println("In class B, Method init()");
}
public void m3() {
System.out.println("In class B, Method m3()");
}
public void destory() {
System.out.println("In class B, Method destory()");
}
}
私のクラスです。
- postProcessBeforeInitialization()
- のinit()
- postProcessAfterInitialization()
私は春のコンテナを作成し、
ApplicationContext ac = new ClassPathXmlApplicationContext("ApplicationContext.xml");
B b = ac.getBean("bObj1", B.class);
b.m3();
私が書かれているSOP文を次のように豆を呼び出していますクラス "com.springExample.B"のすべてのメソッドで。私がコードを実行したとき、私は以下のように出力を得ています。
In class B, Method init()
In class B, Method postProcessBeforeInitialization()
In class B, Method init()
In class B, Method postProcessAfterInitialization()
In class B, Method m3()
のinit()メソッドはpostProcessBeforeInitialization(前に呼び出され、なぜ私は)理解できませんでしたか?
あなたが質問 – sForSujit
@sForSujitであなたのBクラスを表示してくださいすることができます。 – noble