この記事では、Springフレームワークの内部機構の理解を促進するために、ちょうどその背後のロジックを指摘し、ソースコードを解析するための具体的ではありません。
getBean()は背後に何が起こるかA.
- 実装プロセス
推奨事項:これはソースを輝くの並べ替えすることができロジックの一部であります
- ソースの追跡
参考天暁波ブログ
- コーミングプロセス
上記にここに記載さで、この図では、唯一のフローチャートは、ここで豆を得るために使用される実行パス、getBeanシェルdoGetBean()メソッドを呼び出す方法である始まります。shareInstanceを取得するためのdoGetBeanコールgetSingleton(のbeanName)メソッド。二つの経路の実装を分離した後、それぞれ、図緑色及び赤色です。ShareIntance空でない場合、そのオブジェクトは豆にキャッシュされ、そして最長の電気泳動以下の方法の後続処理されることを意味します。このBeanオブジェクトの記述がないそれどころか、私たちは、赤い部分に示されているオブジェクトを作成する必要があります。破線は、メソッド呼び出しの内部geiSingleton()メソッドを表します。getObject()メソッドによってオブジェクトを作成し、キャッシュにオブジェクトを追加SingletonObject。右端のいくつかの方法がgeiObject()メソッドのメソッド呼び出しであり、たcreateBean()メソッドもdoCreateBean()メソッドを呼び出して空のシェルです。()メソッド(すなわち、注入されない属性オブジェクト)createBeanInstanceを呼び出して、元のオブジェクトを作成し、次にaddSingletonFactory()メソッドをコールすることは、キャッシュにシングルトン豆植物を追加し、元のオブジェクト参照(すなわちに植物から得ることができます。初期の参考文献を参照のこと)。別のコールpopolateBean()メソッドの後のプロパティを追加します。
青いボックスは読み取りを表し/メソッドをキャッシュに追加