SpringBeanライフサイクルソースコードの分析

SpringBeanライフサイクルソースコードの分析

概要概要

Springは長い間人気があり、Javaで記述された軽量のフレームワークです。多くの企業やプログラマーに歓迎されています。Beanのライフサイクルは、オブジェクトのインスタンス化から破棄までのプロセス全体です。ライフサイクルを理解することは非常に重要です。必要。

重要性

春のライフサイクルはより複雑であり、そのプロセスと原則を理解することによってのみ、プログラムをより適切に拡張することができます。

ソースコード分析

ライフサイクルプロセス

Beanのインスタンス化

SpringBeanライフサイクルソースコードの分析

属性の入力とAwareインターフェイス検出設定の依存関係

SpringBeanライフサイクルソースコードの分析SpringBeanライフサイクルソースコードの分析

コンテナがBeanpostProcessorの実装クラスをカスタマイズする場合は、対応するプロセッサの前処理を実行します

SpringBeanライフサイクルソースコードの分析

Beanは初期化インターフェイスInitlializingBeanを実装し、対応するロジックが実行されます

SpringBeanライフサイクルソースコードの分析

同時に、初期化メソッドinit-methodもカスタマイズされます

SpringBeanライフサイクルソースコードの分析

コンテナがBeanpostProcessorの実装クラスをカスタマイズする場合、対応するプロセッサの後処理を実行します。

SpringBeanライフサイクルソースコードの分析

破棄されたコールバックBeanを登録します

SpringBeanライフサイクルソースコードの分析

Beanは破棄インターフェイスDisposableBeanを実装し、対応するロジックが実行されます

SpringBeanライフサイクルソースコードの分析

同時に、破壊方法もカスタマイズされています

SpringBeanライフサイクルソースコードの分析

プロセスリクエストの概要

SpringBeanライフサイクルソースコードの分析
上記のフローチャートは、コンテナの起動から破棄までのプロセス全体をまとめたものです。

総括する

1.上記のソースコード分析から、春のライフサイクルは4つの主要な部分に分けることができます:
1。Beanのインスタンス
2.Beanプロパティの設定3.Beanの
初期化4.Bean
の破棄
2.Awareインターフェイスの実装対応する依存関係が挿入されます。
第3に、インターフェイスBeanPostProcessorには2つの初期化メソッドがありますこれらの2つのメソッドは、Beanを追加するときに非常に重要です。たとえば、spring aopはプロキシオブジェクトを返すことができます。パラメータの復号化など。
第4に、ライフサイクルが使用されます。単純な工場、工場の方法、シングルトンパターン、アダプターパターン、および戦略パターンを使用して、より優れたアプリケーションを設計できます。

おすすめ

転載: blog.51cto.com/xxdeelon/2540442