[解決済み] Spring Frameworkにおける依存性注入と制御の逆転とは?
2022-06-19 18:02:56
質問
Webフレームワークの開発にSpringフレームワークを使用する主な利点として、依存性注入と制御の逆転がよく挙げられます。
どなたか、可能であれば例を挙げて非常に簡単な言葉で説明していただけませんか?
どのように解決するのですか?
- Springは以下の理由により、疎結合のアプリケーションを作成するのに役立ちます。 依存性注入 .
- Springでは、オブジェクトは自分の関連性(依存性)を定義し、それをどのように取得するかは気にしません。 依存関係 . オブジェクトを作成するために必要な依存関係を提供するのはSpringの責任です。
例えば
: 例えば、あるオブジェクト
Employee
というオブジェクトがあり、そのオブジェクトに依存している
Address
. に対応するビーンを定義することになります。
Employee
に対応するビーンを定義し、その依存関係をオブジェクト
Address
.
Springが
Employee
オブジェクトを作成しようとすると、その
Employee
は
Address
に依存しているので、まず
Address
オブジェクト (依存オブジェクト) を作成し、それを
Employee
オブジェクトに注入します。
-
制御の反転( IoC )と依存性注入(Dependency Injection) DI )は同じ意味で使われています。IoCはDIによって実現される。DIは依存関係を提供するプロセスであり、IoCはDIの最終的な結果である。( 注 IoCを実現する方法はDIだけではありません。そこには 他の方法 もあるのです)。
-
DIによって、オブジェクトを生成する責任がアプリケーションのコードからSpringコンテナに移行します。この現象をIoCと呼びます。
- 依存性注入には、セッター注入とコンストラクター注入があります。
関連
-
[解決済み] Spring Data JPAにおけるCrudRepositoryとJpaRepositoryのインターフェースの違いは何ですか?
-
[解決済み] <mvc:default-servlet-handler />の必要性と用途は何ですか?
-
[解決済み] spring-ws: エンドポイントマッピングが見つかりませんでした
-
[解決済み] CommandLineRunnerの実行に失敗しました - Spring Batch
-
互換性のない型.Found:'int',required:'java.lang.String'.
-
ソースコード解析:SpringはどのようにIOCコンテナにBeanを登録するのですか?
-
SpringBootで'Application'を実行中にエラーが発生しました。コマンドラインが長すぎるため、コマンドラインを短くしてください。
-
[解決済み] Spring Frameworkの@Injectと@Autowiredの違いは何ですか?どのような条件でどちらを使うか?
-
[解決済み】SpringのApplicationContext.getBeanがダメだと言われる理由とは?
-
[解決済み] Springでプログラム的にプロパティファイルにアクセスする?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Spring Batchのステップスコープの仕組み
-
[解決済み] spring-ws: エンドポイントマッピングが見つかりませんでした
-
java.sql.SQLException を解決します。ユーザー 'root'@'localhost' (パスワード: YES を使用) のためのアクセスが拒否されました。
-
自動配線された依存関係のインジェクションに失敗する; 自動インジェクションに失敗する問題
-
クラスパス上に Spring WebApplicationInitializer のタイプが検出されない Loading configuration file not found or spring main configuration not found.
-
ERROR StatusLogger Log4j2 の設定ファイルがテストに表示されない
-
applicationContext の読み込みに失敗しました。
-
[解決済み] Inversion of Controlとは?
-
[解決済み] 春豆っていったい何?
-
[解決済み] YAMLを使ったSpring @PropertySource