スプリング(2):(別名:依存性注入DI)IOC制御反転

これは、人々が突然ブログの光を見ている.......

 

A、春IOCは(また、依存性注入DIと呼ばれる、制御の反転)を導入しました

IoCの役割:高の問題を解決するために、オブジェクト間の結合

1.1制御の反転は何ですか

単にこれらのオブジェクトは、カプセル化した後を通じて、相互協力の複雑なシステムにオブジェクトを分解し、内部実装は、それによって問題の複雑さを低減すること、外部に透明である、である(再利用及び拡張することができる「第三者」によって依存関係を有するオブジェクトとの間にデカップリング

画像分析:「第三者(IOCコンテナ)」の中間位置の導入以来、4つのオブジェクトのA、B、C、Dは全く結合関係しないように、「ギアとの間の第3の回転のおかげ」、すなわちすべての「第三者」IoCコンテナへのすべてのオブジェクトの制御「に似た接着剤的な役割を果たして一緒に結合するすべてのオブジェクトに」。

概要:あなたは初期化または実行中に作成されたオブジェクトを使用して、オブジェクトBまたはBを作成するためのイニシアチブをとる必要がある場合にはないIOCの導入前に、オブジェクトAがオブジェクトBに依存し、ポイントにオブジェクトA、 A、自分の手の制御にBを取得するかどうか上IOCの導入後、A及びBは、直接の接触を失ったAはBを必要とする場合、IOCコンテナが自動的にオブジェクトBを作成し、オブジェクトAのローカルニーズに注入し、オブジェクトので、制御の反転と呼ばれる- 、B Aは受動を制御し得ます。

----から

1.2、IoCの別名:依存性注入(DI)

依存性注入とは何ですか

動作中IOCコンテナを動的に一部依存関係オブジェクトの依存性注入(DI)及び逆方向制御(IOC)に注入される異なる視点から一つ説明 -依存関係を使用して、導入することにより、IOCコンテナを注射の方法、オブジェクト間のデカップリング。

----から「春インサイド」

 

1.3技術的なIOCコンテナを達成するために

IOCの基本的な技術は、「ある反射(リフレクション):」プログラマ、あなたは知識の反射ブロガーこのブログ見ることができます反射の学習をいわゆる反射素人の用語がされ決定がオブジェクトのどのようなものだったときにオブジェクトが生成され、その結果、動的オブジェクトを生成するために、与えられたクラス名(文字列)に基づきます。

理解します:

IOCコンテナが動作モードと同様とすることができる工場モード昇華、IOCコンテナは植物とみなすことができるが、指定されたオブジェクトを生成する植物は、構成ファイルで定義され、そして、対応する生成されたクラス名の反射プロファイルを使用してこれは、オブジェクト。

実装の観点からは、IOCは、工場法の前に置かれる代わりに、構成ファイルで定義ハードコードオブジェクトの生成、その目的は、発電所及び独立分割オープン(工場モードとの間の差)の両方の主題であります柔軟性と保守性を向上させる(いわゆる工場モデルをアップグレード

1.4、IOCのフレームワークを使用して

IOC技術の主な製品:春のフレームワーク

IOCを使用することの欠点:容器は反射を介してオブジェクトIOCコンテナ、反射低下性能を生成する、複雑なオブジェクトを生成する第3工程に導入されます。

 

二、春IOCソースコード解析

更新する....

 

推奨文献1:https://yikun.github.io/2015/05/29/Spring-IOC%E6%A0%B8%E5%BF%83%E6%BA%90%E7%A0%81%E5% AD%A6%E4%B9% A0 /

推奨文献2:https://javadoop.com/post/spring-ioc

 

前:春AOPアスペクト指向プログラミング

次へ:春のフレームワークの洞察力に

 

  参考:「春インサイド」

公開された52元の記事 ウォンの賞賛116 ・は 50000 +を見て

おすすめ

転載: blog.csdn.net/RuiKe1400360107/article/details/103597460