春のソースコード解析6日目------春の定番面接質問集

春のソースコード解析6日目------春の定番面接質問集

1.Spring5の新機能と適用例

ここに画像の説明を挿入

2.春の定番面接の質問

a.Spring フレームワークとは何ですか? Spring Framework の主なモジュールは何ですか?

Spring フレームワークは、Java アプリケーションの開発に包括的かつ広範な基本サポートを提供する Java プラットフォームです。Spring は、開発者がアプリケーション開発に集中できるように、開発者が開発における基本的な問題を解決するのに役立ちます。

b. Spring フレームワークを使用する利点は何ですか?

IOC と DI、トランザクション、springMVC、Spring AOP

c. Java での依存性注入の実装方法は 3 つあります。

インターフェイス注入 –> @Autowired: 自動アセンブリ

构造器注入:
 @Autowired //构造器注入  
private TestBean11(String message) {  
    this.message = message;  
}

setter注入:

private String message;  
@Autowired //setter方法注入  
public void setMessage(String message) {  
    this.message = message;  
} 

字段注入:

public class TestBean12 { @Autowired // フィールド注入プライベート文字列メッセージ; // getter と setter を省略}



セッターメソッドインジェクション:

    //注入对象springDao  
private SpringDao springDao;  
    //一定要写被注入对象的set方法  
    public void setSpringDao(SpringDao springDao) {  
    this.springDao = springDao;  
} 

コンストラクター注入

//注入对象springDao  
private SpringDao springDao;  
private User user;  
  
public SpringAction(SpringDao springDao,User user){  
    this.springDao = springDao;  
    this.user = user;  
    System.out.println("构造方法调用springDao和user");  
}  

3. BeanFactory と ApplicationContext の違いは何ですか?

BeanFactory は、Bean コレクションを含むファクトリ クラスとして理解できます。BeanFactory には、クライアント要求を受信したときに対応する Bean をインスタンス化するために、Bean の定義が含まれています。
BeanFactory は、オブジェクトをインスタンス化するときに、連携するクラス間の関係を生成することもできます。これにより、Bean 自体と Bean クライアントの構成が解放されます。
BeanFactory には、クライアントの初期化メソッド (初期化メソッド) と破棄メソッド (破棄メソッド) を呼び出す Bean ライフサイクルの制御も含まれます。
表面的には、Bean ファクトリのように、アプリケーション コンテキストには、Bean の定義、Bean の関連付けの設定、および要求に応じて Bean を配布する機能があります。ただし、アプリケーション コンテキストは、これに基づいて他の機能も提供します。
国際化をサポートするテキスト メッセージ、
統一されたリソース ファイルの読み取り方法、
リスナーに登録された Bean のイベントを提供します。

4. Spring は、メタデータを設定するためにいくつの構成メソッドを提供していますか?
Spring をアプリケーション開発に構成するには、次の 3 つの方法があります。
1. XML ベースの構成
2. 注釈ベースの構成
3. Java ベースの構成

5. Java 構成に基づいて Spring を構成する方法は?

Java 構成に対する Spring のサポートは、@Configuration アノテーションと @Bean アノテーションによって実現されます。
@Bean によってアノテーションが付けられたメソッドは、Spring の IOC コンテナーによって管理される新しいオブジェクトをインスタンス化、構成、および初期化します。
@Bean 宣言は要素のように機能します。
@Configuration でアノテーションが付けられたクラスは、このクラスの主な目的が Bean 定義リソースであることを示します。@Configuration で宣言されたクラスは、同じクラス内で @bean メソッドを呼び出すことにより、埋め込み Bean に依存関係を設定できます。

6. アノテーションを使用して Spring を構成する方法は?

1. @Required: このアノテーションは、値の設定メソッドに適用されます。
2. @Autowired: このアノテーションは、値を設定するメソッド、設定しないメソッド、構築メソッド、および変数に適用されます。
3. @Qualifier: このアノテーションは、@Autowired アノテーションと組み合わせて使用​​され、特定の Bean の自動アセンブリを明確にします。
4. JSR-250 アノテーション: Spring は、JSR-250 アノテーションに基づく以下のアノテーション、@Resource、@PostConstruct、および @PreDestroy をサポートします。

7. Spring Bean のライフサイクルを教えてください。

ここに画像の説明を挿入

8. Spring Bean スコープの違いは何ですか?

1.singleton: この Bean スコープはデフォルトです. このスコープにより、受信するリクエストの数に関係なく、各コンテナーに Bean インスタンスが 1 つだけ存在し、シングルトン モードが Bean ファクトリ自体によって維持されます。

2.prototype: プロトタイプ スコープはシングルトン スコープの反対であり、Bean 要求ごとにインスタンスを提供します。

3.request: リクエスト Bean のスコープ内で、クライアントからのネットワーク リクエストごとにインスタンスが作成されます. リクエストが完了すると、Bean は無効になり、ガベージ コレクターによって回収されます.

4.Session: リクエスト スコープと同様に、各セッションに Bean インスタンスが存在することを確認します。Bean は、セッションの有効期限が切れると無効になります。

5.global-session: global-session は、ポートレット アプリケーションに関連しています。アプリケーションがポートレット コンテナーで動作するようにデプロイされると、多くのポートレットが含まれます。すべてのポートレットに対してグローバル ストレージ変数を宣言する場合は、このグローバル変数をグローバル セッションに格納する必要があります。グローバル スコープは、サーブレットのセッション スコープと同じ効果があります。

9. Spring フレームワークのシングルトン Bean はスレッドセーフですか?

ここに画像の説明を挿入
10. FileSystemResource と ClassPathResource の違いは何ですか?

ここに画像の説明を挿入

11.Spring フレームワークで使用される設計パターンは?

1. プロキシ モード - AOP とリモート処理でより多く使用されます。

2. シングルトン モード: Spring 構成ファイルで定義された Bean は、デフォルトでシングルトン モードになります。

3. テンプレート モード: コードの重複の問題を解決するために使用されます。例: RestTemplate、JmsTemplate、JpaTemplate。

4. 委任モード: Srping は、リクエストを分散する DispatcherServlet を提供します。

5. ファクトリ モード: BeanFactory を使用してオブジェクト インスタンスを作成します。これは、BeanFactory / ApplicationContext インターフェースのコア概念を実行します。

6. プロキシ モード: AOP 思想の基盤となる実装テクノロジ、JDK Proxy および CgLib クラス ライブラリが Spring で使用されます。

12. Spring フレームワークで JDBC をより効果的に使用するには?

Spring JDBC フレームワークを使用すると、リソース管理とエラー処理のコストが削減されます。開発者は、ステートメントとクエリを介してデータベースからデータにアクセスするだけで済みます。JDBC は、JdbcTemplate とも呼ばれるテンプレート クラスを使用することで、Spring フレームワークでより効率的に使用できます。

13. Spring フレームワークの IOC について説明してください。

BeanFactory インターフェースは、あらゆるタイプのオブジェクトを構成できる高度な構成メカニズムを提供します。ApplicationContex インターフェースは、BeanFactory (サブインターフェース) を拡張し、Spring の AOP との統合を容易にするなど、BeanFactory に基づく他の機能を追加し、メッセージ リソース (国際化のため) およびイベントの伝播を処理するためのメカニズムも提供します。 Web アプリケーションの WebApplicationContext などのアプリケーション層。

おすすめ

転載: blog.csdn.net/weixin_37766296/article/details/113061600