1. ホーム
  2. spring

[解決済み] Spring Frameworkにおける依存性注入と制御の逆転とは?

2022-06-19 18:02:56

質問

Webフレームワークの開発にSpringフレームワークを使用する主な利点として、依存性注入と制御の逆転がよく挙げられます。

どなたか、可能であれば例を挙げて非常に簡単な言葉で説明していただけませんか?

どのように解決するのですか?

  • Springは以下の理由により、疎結合のアプリケーションを作成するのに役立ちます。 依存性注入 .
  • Springでは、オブジェクトは自分の関連性(依存性)を定義し、それをどのように取得するかは気にしません。 依存関係 . オブジェクトを作成するために必要な依存関係を提供するのはSpringの責任です。

例えば : 例えば、あるオブジェクト Employee というオブジェクトがあり、そのオブジェクトに依存している Address . に対応するビーンを定義することになります。 Employee に対応するビーンを定義し、その依存関係をオブジェクト Address .

Springが Employee オブジェクトを作成しようとすると、その EmployeeAddress に依存しているので、まず Address オブジェクト (依存オブジェクト) を作成し、それを Employee オブジェクトに注入します。

  • 制御の反転( IoC )と依存性注入(Dependency Injection) DI )は同じ意味で使われています。IoCはDIによって実現される。DIは依存関係を提供するプロセスであり、IoCはDIの最終的な結果である。( IoCを実現する方法はDIだけではありません。そこには 他の方法 もあるのです)。

  • DIによって、オブジェクトを生成する責任がアプリケーションのコードからSpringコンテナに移行します。この現象をIoCと呼びます。

  • 依存性注入には、セッター注入とコンストラクター注入があります。