春の豆循環参照

春オープンクラス、レコードのどのような豆循環参照の問題を見ました。

問題:

パブリッククラスIndexService {

  @Autowired

  IndexDao indexDao;

}

パブリッククラスIndexDao {

  @Autowired

  インデックスサービスインデックスサービス。

}

上記の例IndexService依存IndexDao、IndexDao依存IndexService。

インスタンス化プロセスにおける豆の春:

  IndexDao Beanを作成するために行きます、

1.この時点で生成され、IndexDaoインスタンスを作成しますIndexDao Beanを持っていません。

この設定処理では、このプロパティはIndexServiceで、オブジェクトのプロパティを構成する2 IndexDaoはでsingleFactoryにオブジェクト(IndexDao)それ自身を置きます。

そして、IndexService豆の充填を見つけるために行く3、その後に、またはないsingleFactoryに行かないプール(専門ストレージ豆)の一つのケースを発見しました。

4.この時点では、何のIndexService BeanをIndexServiceインスタンスを作成しません。

この設定プロセスでは、IndexDaoあるオブジェクトのプロパティを設定する5. IndexServiceはsingleFactoryにオブジェクト(IndexDao)独自のを置きます。

そして、プールの単一場合には見られない、埋めるためにIndexDao Beanを見つけ、その後、singleFactoryに行く6.がありました。

7. IndexServiceは、プロパティに充填します。

4,5,6,7-後8. IndexServiceを有しており、この時点で属性IndexDaoの値を有する、ステップ3で、次いでIndexService IndexDaoに注入

9.その後、後続の初期化IndexDao豆を続けます。

おすすめ

転載: www.cnblogs.com/yongan/p/11354705.html