Springコンテナ技術

ここに画像の説明を挿入
[Spring テクノロジー] Spring アーキテクチャ
[Spring テクノロジー] Spring IOC および DI エントリーケース
[Spring テクノロジー] Spring Bean の構成と例
[Spring テクノロジー] Spring 依存関係インジェクション (DI 構成)
[Spring テクノロジー] Spring サードパーティのリソース構成管理
[Spring テクノロジー] ] Spring Container Technology
[Spring Technology] Spring アノテーション開発
[Spring Technology] Spring Integration Mybatis&Junit 単体テスト
[Spring Technology] Spring AOP
[Spring Technology] Spring トランザクション管理

1.スプリングコアコンテナの紹介

問題のインポート

質問: Bean 名で Bean を取得する場合の欠点は何ですか。また、Bean タイプで Bean を取得する場合の欠点は何ですか?

1.1 コンテナの作成

  • 方法 1: クラスパスで設定ファイルをロードする
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
  • 方法 2: ファイル パスから構成ファイルをロードする
ApplicationContext ctx = new FileSystemXmlApplicationContext("D:\\applicationContext.xml");
  • 複数の設定ファイルをロードする
ApplicationContext ctx = new ClassPathXmlApplicationContext("bean1.xml", "bean2.xml");

1.2 Beanオブジェクトを取得する

  • 方法 1: Bean 名を使用して取得する

欠点: 自分で型変換を強制する必要がある

BookDao bookDao = (BookDao) ctx.getBean("bookDao");
  • 方法 2: Bean 名を使用してタイプを取得および指定する

推奨される使用方法

BookDao bookDao = ctx.getBean("bookDao", BookDao.class);
  • 方法 3: Bean タイプを使用して取得する

欠点: IOC コンテナ内に同じタイプの Bean オブジェクトが複数ある場合、ここでエラーが報告されます。

BookDao bookDao = ctx.getBean(BookDao.class);

1.3 コンテナクラスの階層

画像-20210730102842030

1.4 ビーンファクトリー

  • 構成ファイルをロードするクラスパス
Resource resources = new ClassPathResource("applicationContext.xml");
BeanFactory bf = new XmlBeanFactory(resources);
BookDao bookDao = bf.getBean("bookDao", BookDao.class);
bookDao.save();
  • BeanFactory が作成された後、すべての Bean は遅延ロードされます。つまり、getBean() メソッドを呼び出して Bean オブジェクトを取得すると、Bean オブジェクトが作成されて返されます。

2. Springコアコンテナの概要

2.1 コンテナ関連

  • BeanFactory は IoC コンテナのトップレベル インターフェイスです。BeanFactory オブジェクトが初期化されると、ロードされた Bean は遅延ロードされます。
  • ApplicationContext インターフェースは Spring コンテナーのコアインターフェースであり、Bean は初期化されるとすぐにロードされます。
  • ApplicationContext インターフェースは、基本的な Bean 操作関連のメソッドを提供し、他のインターフェースを通じてその機能を拡張します。
  • ApplicationContextインターフェースの共通初期化クラス
    • ClassPathXmlApplicationContext(常用)
    • FileSystemXmlApplicationContext

2.2 Bean関連

画像-20210730103438742

2.3 依存性注入関連

画像-20210730103701525

Supongo que te gusta

Origin blog.csdn.net/qq_51808107/article/details/130324393
Recomendado
Clasificación