IOCコンテナを1.Springするビーンのライフサイクルを管理することができ、春には、特定のポイントBeanのライフサイクルでのタスクの実行をカスタマイズできます。
プロセス2.Spring管理IOC豆容器のライフサイクル:
(1)インスタンスのコンストラクタを作成するか、ビーンファクトリメソッドによって
(2)ビーンにBeanプロパティおよび他の参考文献の値を設定する
(3)豆を呼び出して初期化方法
(4)豆を使用することができる
容器が閉じられたとき(5)は、豆のdestroyメソッド呼び出し
構成INIT-方法及び豆Destoryは、方法を属性宣言、メソッド指定された初期化および破壊Beanを
サンプルコード:
//创建一个Car类
public class Car{
private String name;
public void setName(String name){
this.name = name;
}
public void init1(){
System.out.println("这是bean的初始化init.....");
}
public void destory(){
System.out.println("这是Bean的销毁方法");
}
}
XML設定
<bean class="Car的全类名" id = "car" p:name = "audi" init-method="init1" destory-method="destory"></bean>
ビーンポストプロセッサ
1.Beanポストプロセッサ豆初期化メソッドが呼び出される前と後の追加処理を可能にします。ビーンポストプロセッサ処理全豆インスタンスIOCコンテナではなく、単一のインスタンスに対して1つずつ。
代表的なアプリケーション:正確ビーンビーンのプロパティを確認したり、特定の条件に応じてプロパティを変更
前記ポストプロセッサのための豆、初期化メソッドが呼び出される前及び後に、BeanPostProcessorインタフェースを実装し、春豆する各インスタンスは、上記2つのインタフェース・メソッドへ送信されます。
//Bean初始化之前
postProcessBeforeInitialization(Object bean, String beanName)
//Bean初始化之后
postProcessAfterInitialization(Object bean, String beanName)
またライフサイクルビーンビーン後処理後の
豆ライフサイクル管理プロセスの春IOCコンテナ:
Beanインスタンスコンストラクタ又はファクトリメソッドによって作成
値ビーンBeanプロパティおよび他の参考文献設定する
Beanインスタンスに渡すを方法postProcessBeforeInitializationビーンポストプロセッサは、
初期化メソッドを呼び出しビーン
postProcessAfterInitialization方法は、Beanインスタンスの後処理に豆を通過
ビーンを使用することができ
、容器が閉じられたときに豆のdestroyメソッドを呼び出します
サンプルコード(上記コードに基づく場合)。
public class CarPostProcessor implements BeanPostProcessor{
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
System.out.println("afterinit..." +bean+beanName);
return bean;
}
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
System.out.println("bean init :"+bean+beanName);
return bean;
}
}
XML設定:
<bean class="CarPostProcessor的全类名"></bean>