Spring MVC 面接の質問トップ 80 (2025)
ここでは、夢の仕事に就くための、経験豊富な新人候補者向けの Spring MVC 面接の質問と回答を紹介します。
新入生向けの Spring MVC 面接の質問と回答
1) ばねとは何ですか?
Springは、次のようなフレームワークになる予定です。 Java コード開発用の Java プログラマー向けであり、IOC コンテナー、依存性インジェクター、MVC フロー、その他多くの Java プログラマー向け API を提供します。
2) 春のアドバイスとは何ですか?
それはアスペクトの実行です。 アドバイスは、アプリケーションに新しいトリックを学習させるようなものです。 これらは通常、ジョインポイントで導入されます。
👉 無料 PDF ダウンロード: Spring MVC フレームワークのインタビューの質問と回答
3) Spring Framework の Bean のデフォルトのスコープは何ですか?
Bean のデフォルトのスコープは、Spring フレームワークのシングルトンです。
4) Spring でサポートされているトランザクション管理のタイプに名前を付けてください。
Spring でサポートされているトランザクション管理は次のとおりです。
- 宣言型トランザクション管理。
- プログラムによるトランザクション管理。
5) Spring Framework ではシングルトン Bean はスレッドセーフですか?
いいえ、Spring フレームワークではシングルトン Bean はスレッドセーフではありません。
6) Spring Framework の利点は何ですか?
以下は、 Springフレームワーク:
- コンポーネントの広範な使用
- 再利用性
- デカップリング
- シングルトン、ファクトリー、サービス ロケーターなどのパターン実装を使用することで、コーディングの労力を軽減します。
- 漏れのある接続部の取り外し
- 宣言型トランザクション管理
- サードパーティのツールやテクノロジーと簡単に統合できます。
7) ビーンファクトリーとは何ですか?
Bean Factory は Spring フレームワークの中核であり、Bean 定義をロードして Bean を管理する軽量コンテナーです。 Bean は XML ファイルを使用して構成され、シングルトンで定義された Bean を管理します。 また、ライフサイクル メソッドも担当し、依存関係を注入します。 また、アドホック シングルトンとファクトリも削除されます。
8) Bean 配線を定義しますか?
Bean ワイヤリングとは、特定の Spring コンテナ内の Bean 間にあるアプリケーション コンポーネント間の関連付けを作成することです。
9) Spring MVC とは何ですか?
Spring MVC は単一の共有コントローラー インスタンスであり、IoC コンテナーで実行されるリクエスト タイプのコントローラー、インターセプターを処理するために使用されます。 また、アプリケーション コンテキスト インターフェイスは共有できますが、クラス ベースのインターフェイスは共有できない複数の Dispatcher Servlet が許可されます。
10) Spring フレームワークが必要な理由は何ですか?
Spring フレームワークが必要なのは、次のような理由からです。
- 非常に軽量なコンテナ
- フレームワーク
- IOC
- AOP
11) Spring Framework で使用されるさまざまなモジュールに名前を付けますか?
- AOP モジュール (アスペクト指向プログラミング)
- JDBC 抽象化と DAO モジュール
- コアコンテナモジュール
- MVCフレームワークモジュール
- アプリケーションコンテキストモジュール
- O/Rマッピング統合モジュール(オブジェクト/リレーショナル)
- Webモジュール
12) Spring の RowCallbackHandler について説明しますか?
RowCallbackHandler は ResultSet の行ごとに呼び出され、ResultSet から値を読み取るために使用されます。
13) アプリケーションコンテキストモジュールを定義しますか?
これは非常に重要なモジュールであり、EJB 統合、リモーティング、JNDI アクセス、スケジューリングなどのさまざまな必要なサービスを提供します。 スプリングをフレームワークに変換します。 また、ライフサイクル イベントの適用によって BeanFactory の概念を拡張し、国際化メッセージと検証のサポートを提供します。
14) AOP モジュールについて書きますか?
AOP モジュールは、Spring アプリケーションのアスペクトを作成するために利用されます。 また、Spring でのメタデータ プログラミングのサポートも有効になります。
15) BeanFactory インターフェースとは何ですか?
Bean ファクトリ インターフェイスは、オブジェクト作成のための構成フレームワークとオブジェクト管理に関する基本機能を提供するために使用されます。
16) 春の ApplicationContext と BeanFactory の違いを述べてください。
- ApplicationContext では複数の構成ファイルの存在が許可されますが、BeanFactory では XNUMX つだけが許可されます。
- ApplicationContext は、リスナーとして登録されている Bean にイベントを出力できます。 この機能は BeanFactory ではサポートされていません。
- ApplicationContext は、ライフサイクル イベント、国際化メッセージ、検証のアプリケーションのサポートも提供し、EJB 統合、リモーティング、JNDI アクセス、スケジューリングなどのサービスも提供します。 これらの機能も Bean Factory ではサポートされていません。
17) 自動配線とは何ですか?
オートワイヤリングは、連携する Bean 間の関係を構築するために使用されます。Spring コンテナーは、Bean の連携者を自動的に解決できます。
18) 自動配線のさまざまなモードとは何ですか?
自動配線には XNUMX つの異なるモードがあります。
- NO: オートワイヤなし
- 名前で: プロパティ名によって実行できる自動配線
- タイプ別: プロパティタイプを自動配線として
- ビルダー: byType に似ており、プロパティはコンストラクター内にあります
- 自動検出: Spring は byType またはコンストラクターから自動配線を選択できます
19) スプリングの使用を開始するにはどうすればよいですか?
Spring を開始するには、次の手順を実行する必要があります。
- Spring とその依存ファイルを Spring のサイトからダウンロードします。
- アプリケーション コンテキスト XML を作成して Bean とその依存関係を定義する
- アプリケーション コンテキスト XML を web.xml と統合する
- アプリケーションをデプロイして実行する
20) Bean のライフサイクルの方法にはどのようなものがありますか?
Bean のライフサイクルには XNUMX つの重要な方法があります。
- Setup – Bean がコンテナにロードされるときに呼び出されます
- Teardown – Bean がコンテナにアンロードされるときに呼び出されます
21) リスナーのイベントにはどのような種類がありますか?
リスナーのイベントには次のような種類があります。
- コンテキストクローズイベント – このイベントは、コンテキストが閉じられるときに呼び出されます。
- コンテキスト更新イベント – このイベントは、コンテキストが初期化または更新されるときに呼び出されます。
- リクエスト処理イベント – このイベントは、Web コンテキストがリクエストを処理するときに呼び出されます。
22) シングルトン Bean とプロトタイプ Bean を区別しますか?
シングルトンはオブジェクト インスタンスごとに XNUMX つの Bean だけが定義されることを意味しますが、プロトタイプは Spring の複数のオブジェクト インスタンスに対して XNUMX つの定義を意味します。
23) 依存関係の注入にはどのような種類がありますか?
Spring Framework では、次の XNUMX 種類の依存関係注入がサポートされています。
- セッターインジェクション
- コンストラクターのインジェクション
24) コアコンテナモジュールについて書きますか?
コア コンテナ モジュールは、Spring フレームワークの基本機能を担当します。 Spring フレームワーク全体は、このモジュールをベースとして構築されます。
25) AOPモジュールとは何ですか?
この AOP モジュールは、Spring 対応アプリケーションに使用されます。Spring と他の AOP フレームワーク間の相互運用性を確保するために、AOP アライアンスのサポートが提供されています。
これは、ソース コードに注釈を追加し、アスペクトを適用する方法を指示するように Spring に指示します。
経験者向けの Spring MVC 面接の質問
26) AOP アライアンスとは何ですか?
AOP アライアンスは、AOP の採用を促進することを目的としたオープン ソース プロジェクトです。AOP アライアンスの目標は、さまざまな AOP 実装間の相互運用性を向上させるために、共通のコンポーネントとインターフェイスのセットを定義することです。
27) スプリング設定ファイルとは何ですか?
Spring 構成ファイルは XML ファイルであり、クラス情報が含まれています。 また、これらのクラスがどのように構成され、相互に対話するかについても説明します。
28) Autowire にはどのような種類がありますか?
自動ワイヤーには XNUMX つの異なるタイプがあります。
- 名前で
- 種類別
- コンストラクタ
- AUTODETECT
29) Spring でサポートされているトランザクション管理の種類は何ですか?
Spring でサポートされているトランザクション管理の種類は次のとおりです。
- 宣言的
- プログラムで
30) 宣言型およびプログラムによるトランザクション管理はどのような場合に使用されますか?
トランザクション操作が少量の場合、プログラムによるトランザクション管理を使用することをお勧めします。ただし、大量のトランザクション操作を処理する場合は、宣言的なトランザクション管理が推奨されます。
31) IOCとは何ですか?
IOC (Inversion of Control pattern) は依存性注入とも呼ばれます。 IOC は、実際にオブジェクトを作成するのではなく、オブジェクトの作成方法を記述するようにプログラマーに指示します。 ただし、この設計パターンでは、この制御はアセンブラに与えられており、アセンブラは必要に応じて必要なクラスをインスタンス化します。
32) さまざまなタイプのリスナー関連イベントについて書きますか?
リスナーに関連するさまざまなタイプのイベントは次のとおりです。
- コンテキスト更新イベント – これは、コンテキストが更新または初期化されるときに呼び出されます。
- リクエスト処理イベント – これは、Web コンテキストがリクエストを処理するときに呼び出されます。
- コンテキストクローズイベント – これは、コンテキストが閉じられるときに呼び出されます。
33) アスペクトとは何ですか?
アスペクトはロギングとも呼ばれ、アプリケーション全体で必要となります。 ロギングまたはアスペクトは、AOP を使用するアプリケーションの横断的な機能です。
34) ジョインポイントとは何ですか?
アプリケーションにアスペクトを導入できるポイントは、ジョインポイントとして知られています。 このポイントは、変更されるフィールド、呼び出されるメソッド、またはスローされる例外である可能性があります。 これらの時点で、新しいアスペクトのコードを追加して、アプリケーションに新しい動作を導入できます。
この時点でアスペクト コードをアプリケーションの通常のフローに挿入して、現在の動作を変更できます。
35) アドバイスとは何ですか?
アドバイスはアプリケーションに新しい動作を伝え、それがアスペクトの実装になります。 これは、アプリケーションのジョインポイントに挿入されます。
アドバイスは、ある側面の実装です。 これは、アプリケーションに新しい動作を指示するようなものです。 通常、アドバイスはアプリケーションのジョインポイントに挿入されます。
36) ポイントカットとは何ですか?
ポイントカットは、アドバイスを適用できる場所を許可するために使用されます。
37) 織りとは何ですか?
ウィービングは、ターゲット オブジェクトにアスペクトを適用することで新しいプロキシ オブジェクトを作成するために使用されます。
38) シングルトン Bean とプロトタイプ Bean の違いは何ですか?
シングルトン Bean – Spring IOCコンテナごとに単一のオブジェクト・インスタンスに対する単一のBean定義
プロトタイプBean – Spring IOC コンテナごとに任意の数のオブジェクト インスタンスに対する単一の Bean 定義
39) 織物はどのような点に適用できますか?
織りを適用できるポイントは次のとおりです。
- コンパイル時間
- クラスロード時間
- ランタイム
40) AutoProxying にはどのような種類がありますか?
AutoProxying には次のような種類があります。
- BeanNameAutoProxyCreator
- デフォルトアドバイザー自動プロキシCreator
- メタデータの自動プロキシ
41) Bean はどのようにしてシングルトンまたはプロトタイプを作成できますか?
Bean タグには、「singleton」という属性があります。その値が「TRUE」の場合、Bean はシングルトンです。それ以外の場合、Bean はプロトタイプです。
42) データベース接続の制御にはどのようなクラスが使用されますか?
データベース接続を制御するために使用されるクラスは次のとおりです。
- データソースのユーティリティ
- スマートデータソース
- 抽象データソース
- 単一接続データソース
- DriverManager データソース
- トランザクション対応データソースプロキシ
- データソーストランザクションマネージャー
43) Spring フレームワークの DAO について説明してください。
DAOは、統合を提供するために使用されています Java データベース接続とオブジェクトリレーショナルマッピングオブジェクト。DAOは、JDBC、Hibernate、JDO、JPA、共通クライアントインターフェース、および Oracle.
44) 自動プロキシとは何ですか?
自動プロキシは、Spring ユーザー用にプロキシを自動的に作成するために使用されます。この自動プロキシ作成をサポートするために、次の 2 つのクラスが提供されます。
- BeanNameAutoProxyCreator
- デフォルトアドバイザー自動プロキシCreator
45) メタデータ自動プロキシとは何ですか?
メタデータの自動プロキシは、メタデータによって駆動できる刺激的な方法で実行できます。 これはソース レベルの属性によって決定され、メタデータはソース コード内に保持されます。
これはメタデータを XNUMX か所に維持し、主に宣言型トランザクションのサポートに使用されます。
46) 春の「アドバイスを投げる」とは何ですか?
「スローアドバイス」は、例外が発生したときの動作を定義します。 これはインターフェイスであり、実装する必要があるメソッドはありません。
このインターフェイスを実装するクラスには、次のシグネチャを持つメソッドが必要です。
- ボイドサンプルスロー(タブレットを投げる)
- Void サンプルスロー(メソッド m、オブジェクト[] o、オブジェクト ターゲット、タブレットを投げる)
47) Spring Work で使用されるさまざまなエディタは何ですか?
Spring Framework によって提供されるさまざまなカスタム エディターは次のとおりです。
- プロパティエディター
- URLエディタ
- クラスエディター
- カスタム日付エディター
- ファイルエディター
- ロケールエディター
- 文字列配列プロパティエディター
- 文字列トリマーエディタ
48) スプリングフレームワークの利点は何ですか?
Spring Framework の利点は次のとおりです。
- レイヤード Archi構造
- 昔ながらの Java オブジェクト(POJO)プログラミングにより、継続的な統合とテストが可能になります。
- JDBC を簡素化する依存関係の注入と制御の反転
- 商用利用可能なオープンソースフレームワーク
49) Spring フレームワークを使用して Hibernate にアクセスするにはどうすればよいですか?
Hibernate には、次の 2 つの方法でアクセスできます。
- Callback と HibernateTemplate を使用した IOC による。
- AOP インターセプターを適用し、HibernateDaoSupport を拡張することによって。
50) Spring 2.0 でサポートされているさまざまなチャネルは何ですか?
Spring バージョン 2.0 でサポートされているチャネルは次のとおりです。
- ポーリング可能なチャンネル
- 購読可能なチャンネル
- 発行チャンネル登録
- キューチャネル
- 優先チャネル
- ランデブーチャンネル
- ダイレクトチャネル
- エグゼキュータチャネル
- スコープ付きチャネル
5 年以上の経験を対象とした Spring MVC 面接の質問
51) Spring ではなぜ宣言型トランザクション管理が好まれるのですか?
宣言型トランザクション管理はアプリケーション コードへの影響が最小限に抑えられるため、理想的な軽量コンテナーとなります。
52) BeanFactory の概念を説明しますか?
BeanFactory は、IOC を利用してアプリケーションの依存関係と構成を実際のコードから分離するファクトリ パターンのアイデアを適用します。
53) 春豆のさまざまな範囲は何ですか?
Spring Bean のスコープは、シングルトン、プロトタイプ、リクエスト、セッション、グローバル セッションです。
54) Spring を使用して Hibernate にアクセスする方法はすべて何ですか?
Spring を使用して Hibernate にアクセスするには XNUMX つの方法があります。
- Hibernate テンプレートとコールバックによる制御の反転
- HibernateDAOSupport の拡張と AOP Interceptor ノードの適用。
55) ストラットアプリケーションをスプリングとどのように統合できますか?
スプリングと統合できるストラット アプリケーションには XNUMX つのオプションがあります。
ContextLoader プラグインを使用して Bean を管理し、その依存関係を Spring コンテキスト ファイルに設定するための Spring の構成
次を使用して Spring 管理 Bean を明示的に取得します agetwebapplicationcontext()
56) 制御の反転 (IOC) とは何ですか?
Inversion of Control (IOC) は依存関係の注入とも呼ばれ、クラスのアセンブラに制御を与える設計パターンに他なりません。 一般に、クラスは必要に応じて別のクラスをインスタンス化します。
ただし、この設計パターンでは、この制御はアセンブラに与えられており、アセンブラは必要に応じて必要なクラスをインスタンス化します。
57) IOC を使用する利点を書きますか?
依存関係注入 (IOC) の主な利点は、アプリケーションに必要なコーディングの量が削減されることです。 これにより、JNDI ルックアップ メカニズムやシングルトンが必要ないため、アプリケーションのテストを迅速かつ簡単に行うことができます。 IOC コンテナは、サービスの遅延読み込みと積極的なインストールもサポートします。
58) インナービーンとは何ですか? インナービーンの欠点は何ですか?
Bean を接続するときに Bean 要素がプロパティ タグに直接埋め込まれている場合、その Bean は内部 Bean と呼ばれます。 欠点は再加工ができないことです。
59)春の注射にはどのような種類がありますか?
春の注射には次の XNUMX 種類があります。
- セッターインジェクション
- コンストラクターのインジェクション
- ゲッターまたはメソッドの注入
60) スプリングフレームワークの利点は何ですか?
Spring Framework の利点は次のとおりです。
- j2EEコンテナと比較した場合の軽量コンテナ
- 組み込みの Web MVC フレームワーク
- 疎結合アプリケーションを作成します
- ロギング、トランザクション、セキュリティなどのアスペクト指向プログラミングをサポート
- 設定は XML 形式で行われるため、記述しやすく理解しやすい
61) アドバイスにはどのような種類がありますか?
アドバイスには次の XNUMX 種類があります。
- アドバイスの前に
- アドバイスを返した後
- アドバイスを投げた後
- 最後にアドバイス
- 周りのアドバイス
62) PreparedStatementと呼ばれるものCreator?
プリペアドステートメントCreator は、データベースにデータを書き込むために最も一般的に使用されるインターフェースの 1 つです。createPreparedStatement() は、Connection 引数から PreparedStatement を作成して返すために使用できるメソッドであり、例外処理は自動的に行われます。このインターフェースを実装すると、getSql() と呼ばれるメソッドを持つ別のインターフェース SqlProvider も実装できます。このメソッドは、JdbcTemplate に SQL 文字列を提供するのに役立ちます。SQLExceptions は処理しません。
63) SQLプロバイダーとは何ですか?
SQLProvider には、呼び出されるメソッドが XNUMX つだけあります getSql()
そしてそれはPreparedStatementを使って実装されているCreator 実装者。主にデバッグに使用されます。
64) BatchPreparedStatementSetter について書きますか?
BatchPreparedStatementSetter は、複数の行を一度に更新するために使用されます。BatchPreparedStatementSetter を使用できます。 このインターフェースは XNUMX つのメソッドを提供します。
- setValues( PreparedStatement ps, int i) は SOL 例外をスローします
- int getBatchSize
65) Spring で JDBC を使用するより良い方法は何ですか?
JDBC を JdbcTemplate というテンプレート クラスとともに使用すると、パフォーマンスが向上します。
66) Spring で使用される DAO クラスはどのような例外をスローしますか?
春の DAO クラスは SQLException のみをスローします。
67) DAO モジュールを使用する利点を説明してください。
DAO モジュールを使用すると、データベース コードをクリーンかつシンプルに保つことができます。 これは、データベース リソースの閉鎖処理が不適切なために発生する問題を防ぐのに役立ちます。 また、DAO モジュールは AOP モジュールを利用して、Spring アプリケーション内のオブジェクトがトランザクション管理サービスを使用できるようにします。
68) Spring Framework で使用される重要な ApplicationContext 実装に名前を付けますか?
彼らは以下のとおりです。
- ClassPathXmlApplicationContext
- FileSystemXmlApplicationContext
- XmlWebApplicationContext
69) Spring アプリケーションに Bean はどのように追加されますか?
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"> <beans> <bean id="foo"/> <bean id="bar"/> </beans>
Bean タグには、Bean 名を格納する ID 属性と、完全なクラス名を指定するクラス属性があります。
70) ORM 統合モジュールとは何ですか?
オブジェクト/リレーショナル マッピング (ORM) ツールは、ORM モジュールを実装することにより、Spring over ストレート JDBC でサポートされます。 Spring は、JDO、iBATIS SQL Maps、Hibernate などのさまざまな重要な ORM フレームワークに参加できます。
71) 春のアドバイスの種類について言及して説明しますか?
アドバイスの種類は次のとおりです。
- アドバイスの前に: ジョインポイントの前に実行されるアドバイスは、「前アドバイス」と呼ばれます。
- アドバイスを返した後: ジョインポイントが正常に完了した後に実行されるアドバイスは、「アドバイスを返した後」と呼ばれます。
- アドバイスを投げた後: メソッドが例外をスローして異常終了した場合にのみ実行されるアドバイスは、「スロー後のアドバイス」と呼ばれます。
- (最終的に)アドバイス後: ジョインポイントがどのように終了するかに関係なく実行されるアドバイスは、「最終アドバイス後」と呼ばれます。
- 周りのアドバイス: ジョインポイントに隣接するアドバイス (メソッド呼び出しなど) は、「アラウンド アドバイス」と呼ばれます。 これを使用して、メソッドの呼び出しの前後に特別なアクティビティを実行できます。
72) Webモジュールとは何ですか?
Web モジュールを使用すると、XML を使用せずに Web アプリケーションを作成できます。 Web モジュールを使用するには、web.xml ファイルを構成する必要があります。
73) DataAccessException とは何ですか?
DataAccessException は RuntimeException です。 これは未チェックの例外です。 ユーザーにこの種の例外の処理を強制することはできません。
74) XMLBeanFactoryとは何ですか?
Spring には、Bean ファクトリのアプリケーションがいくつか含まれています。 このうち org.springframework.beans.factory.xml.XmlBeanFactory は非常に重要です。 XML ファイルに保存されている定義に基づいて Bean をロードします。 XmlBeanFactory を作成するには、java.io.InputStream がコンストラクターに渡されます。 InputStream は XML をファクトリに提供します。 たとえば、Bean を取得する場合、目的の Bean の名前を渡すことによって getBean() メソッドが呼び出されます。
MyBean helloBean = (MyBean) factory.getBean("helloBean");
75) アプリケーションによってスローされる例外に関連する例外クラスに名前を付けますか?
org.springframework.dao.DataAccessException によって与えられる DataAccessException です。
76) lOC (依存性注入) の種類について言及しますか?
loC のさまざまなタイプは次のとおりです。 –
- セッターインジェクション: の助けを借りて、 JavaBean のプロパティ。
- コンストラクターのインジェクション: 依存関係はコンストラクター パラメーターの形式で指定されます。
- インターフェースインジェクション: インターフェイスの助けを借りて、インジェクションが実行されます。
これら XNUMX つのうち、Spring で使用されるのはコンストラクションとセッターのみです。
77) 重要な Bean ライフサイクル手法は何ですか?
全体として、Bean のライフサイクル メソッドは XNUMX つあります。 最初のメソッドは、コンテナへの Bean のロード中に呼び出される setup メソッドです。 XNUMX 番目は Bean がコンテナからアンロードされるときで、この方法はティアダウンと呼ばれます。
78) Bean のデフォルトのライフサイクル メソッドはどのようにして無効にできますか?
タグ Bean には、特別な初期化メソッドと破棄メソッドを定義するために使用できる XNUMX つの便利な属性があります。
たとえば、次の方法で Foo クラスに 2 つの新しいメソッド forSetup と forTeardown を追加できます。
<beans> <bean id="bar" init-method="forSetup" destroy="forTeardown"/> </beans>
79)とは Target?
ターゲットとは、アドバイスされるクラスです。このクラスは、特別な動作を追加するクラス、またはサード パーティのクラスのいずれかになります。ターゲット クラスは、適用されるアドバイスに関係なく、AOP コンセプトを使用して主要な関心事に自由に集中できます。
80) プロキシという用語について説明しますか?
プロキシという用語は、ターゲット オブジェクトにアドバイスを適用することで生成されるオブジェクトを指します。
81)春AOPにおける横断的な懸念と懸念は何ですか?
- 横断的な懸念: これはアプリケーション全体に当てはまる問題であり、アプリケーション全体に影響します。 たとえば、セキュリティ、ロギング、データ転送は、アプリケーションのほぼすべてのモジュールで必要となる懸念事項です。
- 懸念: 懸念は、アプリケーションのモジュールに含めたい動作です。 私たちが関心を持っている問題は、私たちの懸念を定義します。
これらの面接の質問は、あなたの活力(口頭)にも役立ちます