露出インタビュー:springbeanライフサイクル

春IOC コンテナ ・ビーン 、次のようにのライフサイクルがあります

        。コールコンストラクタ:①Beanインスタンスは、コンストラクタまたはファクトリメソッドによって作成されます
        ②財産及びその他のビーンビーン参照の値を設定するには:コールセッターを
        postProcessBeforeInitialization方法③。ビーンビーンインスタンスへのプリプロセッサに渡します
        ④豆は、initializeメソッド:. INIT-メソッドを呼び出します
        ⑤。BeanインスタンスがメソッドpostProcessAfterInitializationビーンポストプロセッサに渡されます
        ⑥。使用する豆の準備ができて
        ⑦コンテナが閉じられると、メソッド呼び出しビーン:.破壊法を破壊。

 

豆の初期化と破壊方法
 
豆ノードができる -方法を初期化 し、 破壊法 ビーンの破壊方法を初期化し、構成する方法を:
<ビーンID = "人"クラス= "com.demo.spring.bean.Person" INIT-方法= "initは"破壊法を= "破壊します" >
    <プロパティ名= "名前" 値= "ジャック"> </ property>の
</豆>

 

注: 参照のApplicationContext IOCコンテナインターフェース、破壊法わけではない機能としての使用はApplicationContextのサブインターフェイスを使用するために必要なように、方法のApplicationContextインタフェースは、密閉容器ではない ConfigurableApplicationContextを
 
詳細ビーンポストプロセッサ
    ポストプロセッサ豆:豆春の特別オファー
    。追加の処理豆の前と後:①ビーンポストプロセッサは、呼の初期化処理(豆ノード属性対応のinitメソッドのメソッド後IE)を可能にします。
    。②ビーン後処理すべてに対して1つのビーンインスタンスIOCコンテナずつ処理し、むしろ単一インスタンスより一般的な用途は次のとおり特定の基準ビーンに従って正当ビーンプロパティまたは変更を確認
プロパティ。
    ③。Beanのポストプロセッサ、インターフェースBeanPostProcessorを実装する必要性を
            パブリッククラスPersonPostProcessor実装BeanPostProcessor {
                    / **
                    * ARG0:BeanコンテナのIOCインスタンス
                    * ARG1:Beanの名前でIOCコンテナ
                    * /
                    @オーバーライド
                    パブリックオブジェクトpostProcessAfterInitialization(オブジェクトarg0に、文字列ARG1)はBeansExceptionを{スロー
                            IF(人のinstanceof arg0に){
                                        System.out.println( "postProcessAfterInitialization");
                                        一人一人=(人物)のarg0;
                                        文字列名= person.getName()。
                                (もし!name.equals( "AAAA")){
                                        System.out.println( "名前の値はBBBBでなければなりません!");
                                        person.setName( "BBBB");
                                }
                        }
                        arg0に返します。
                  }
            @オーバーライド
            パブリックオブジェクトpostProcessBeforeInitialization(オブジェクトarg0に、文字列ARG1)はBeansExceptionを{スロー
                    System.out.println( "postProcessBeforeInitialization");
                arg0に返します。
                }
            }
    ④。ビーンポストプロセッサの必要性は容器IOCで構成するが、豆が自動的にそれを使用する後処理である容器意志スプリングIOCのid属性の自動識別を指定する必要はありません。 <beanクラス= "com.demo.spring.bean.PersonPostProcessor" / >

 

公開された11元の記事 ウォン称賛11 ビュー10000 +

おすすめ

転載: blog.csdn.net/zh554275855/article/details/80440644