質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Spring MVC

Spring MVCとは、Javaを用いてWebアプリケーションを開発できるフレームワーク。アーキテクチャにMVCを採用しており、画面遷移と入出力パラメータの受け渡しの基本的な機能の他、ユーザーの送信したパラメータに対する入力チェックなどさまざまな機能を持ちます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

3109閲覧

spring 「DI」と「継承」の違いについて

1998Ttf

総合スコア6

Spring MVC

Spring MVCとは、Javaを用いてWebアプリケーションを開発できるフレームワーク。アーキテクチャにMVCを採用しており、画面遷移と入出力パラメータの受け渡しの基本的な機能の他、ユーザーの送信したパラメータに対する入力チェックなどさまざまな機能を持ちます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

1クリップ

投稿2021/08/31 14:49

編集2021/08/31 14:52

spring初学者です。上記の題名について、ご教授いただきたく、質問させていただきました。

###「DI(依存性の注入)」と「継承」について

結論、この二つに関して持っている私のイメージは以下になります。

【継承】
親クラスを継承し、メソッドの再利用・オーバーライドによる多態性(ポリモーフィズム)等を利用できる
※カプセル化については割愛します。

【DI(Dependency Injection)ー依存性の注入】
・必要なインスタンスを注入し、必要なメソッド・機能を使用できる。
・newしないので、テスト等で、インスタンスの差し替えが容易にできる

###結局、DIは継承なのか?それとも、全く別物なのか?

さまざまなリファレンスを見ていますが、あまりうまくイメージができていません。

どうぞよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

spring詳しくないけどDIと継承は比較する対象ではありません。

もの凄くざっくり言えば、継承ってのはオブジェクト指向というパラダイムの構成要素の一つであり、DIというのは実装上のテクニックのひとつ。

車で例えたら「四輪駆動とドリフトの違いがわかりません」って言ってるようなもん。
(適切な例えじゃない気もするけど、そのぐらいかけ離れてるという意味)

投稿2021/08/31 20:59

編集2021/08/31 22:49
gentaro

総合スコア8949

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gentaro

2021/08/31 21:08

なんか例えが全然上手くない気がするので、これという上手い例えがあれば逆に教えて欲しいけども…。
m.ts10806

2021/08/31 22:46

質問に書いてある内容でそもそも比較する対象にないことは分かるので、良いと思います(あとは文章理解力の話かな)
gentaro

2021/08/31 23:01

DI、継承それぞれについてのでなく、比較する事で疑問が生じているのなら、「それピントズレてるよ」という事だけわかれば良いのかな、とは思いますが。 質問に至るまでの思考の推移は本人が語ってくれないとわからないので、これ以上は説明できないかなぁ。
1998Ttf

2021/08/31 23:21

さまざまなご意見ありがとうございます。個人的にその例えは非常にわかりやすかったです(車が好きなので。。。) そもそも比較対象でないこと、DIが実装上のテクニックであること、理解できました。 また違う内容にはなるのですが、ではimportとDIの関係についてはどういったイメージでしょうか。
gentaro

2021/09/01 01:24

密接に関係のある話なら許容できる場合もあるけど、基本的にコメントでの追加質問はマナー違反というか、サイトの趣旨に合ってない。 その質問で得られる知識が第三者にとって価値があるものであっても、それを検索等から辿り着けないんで。 一度ガイドラインをしっかり読めば理解できるはず。 https://teratail.com/help/question-tips
1998Ttf

2021/09/01 01:39

失礼致しました。以後気をつけて投稿いたします。 ご指摘いただきありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問