スプリングコアコンポーネントの分析
Spring コアコンポーネント
Spring には多くのコアコンポーネントがありますが、そのスケルトンは Core、Context、Bean です。
Bean
3つの中で、Beanは核中の核です。 Bean は構成ファイルを通じてオブジェクトを実装し、Spring はオブジェクトのストレージ領域とライフサイクルの割り当てを管理します。依存関係注入を通じて、オブジェクトを指定されたビジネス ロジック クラスに注入できます。これらの注入関係は Ioc コンテナによって管理されます。
したがって、Spring の核となる考え方は、BOP (Bean Oriented Programming)、つまり Bean 指向プログラミングと呼ばれることがあります。
BeanコンポーネントはSpringの org.springframework.beans パッケージで定義されており、次の問題を解決します:
Beanの定義
Beanの作成
Beanの解析
ユーザーはBeanの作成にのみ注意する必要があります。 other どちらのプロセスも Spring によって内部的に完了します。
1. 全体的なアーキテクチャ
Spring Bean の全体的なアーキテクチャは典型的なファクトリ モデルであり、最上位のインターフェイスは BeanFactory です。 ListableBeanFactory、HierarchicalBeanFactory、および AutowireCapableBean は、Spring の内部オブジェクト処理と変換のデータ制限を区別するためのサブクラスです。
ListableBeanFactory: これらの Bean がリスト可能であることを示します
HierarchicalBeanFactory: これらの Bean に継承関係があることを示します
AutowireCapableBeanFactory: Bean の自動アセンブリ規則を定義します
これらのインターフェイスは、それぞれ Bean コレクション、Bean 関係、および Bean 関係を定義します。
2.Bean定義
Bean定義は主にBeanDefinitionで記述され、階層関係は以下の通りです:
Springの設定ファイルで定義されたノードは、解析が成功した後、その後のすべての操作が完了するとBeanDefinitionオブジェクトに変換されます。 BeanDefinition オブジェクトで実行されます。
3.Bean 解析
Bean 解析の主なタスクは、Spring 構成ファイルを解析し、最終的に BeanDefinition オブジェクトを生成することです。
解析プロセスは非常に複雑で、構成ファイル内のすべてのタグが含まれます。主な参加クラスは次のとおりです。
Context
Beanはオブジェクトをラップし、オブジェクトはビジネスに必要なデータを格納します。したがって、これらのデータとそれらの間の関係の存続および動作環境をどのように提供するか (つまり、オブジェクトの状態を保存するか) が、Context が解決する必要がある問題です。コンテキストは実際には Bean 関係のコレクションであり、Ioc コンテナとも呼ばれます。
ApplicationContext は、Context の最上位インターフェースです。階層関係は次のとおりです。
ApplicationContext は、アプリケーション環境の基本情報を識別できます。 Context の機能を拡張するために 5 つのインターフェースを継承します。そのうち BeanFactory は Bean の作成に使用され、外部リソースにアクセスするための ResourceLoader インターフェースを継承します。
ApplicationContext のサブクラスには主に以下が含まれます:
ConfigurableApplicationContext: ユーザーが情報を動的に構成および変更できるコンテキスト。その中で、AbstractRefreshableApplicationContext が最もよく使用されます。
WebApplicationContext:
ServletContext に直接アクセスできる Web アプリケーション用に用意されたコンテキスト。
要するに、ApplicationContext が完了しなければならない機能は次のとおりです:
アプリケーション環境を識別する
BeanFactory を使用して Bean オブジェクトを作成する
オブジェクト関係テーブルを保存する
さまざまなイベントをキャプチャする
Ioc コンテナとして、Context は責任を負いますSpring Base の他のほとんどの機能に使用します。
Core
Spring は、Core と呼ばれる Bean 間の関係を検出、確立、維持するためのツールのパッケージです。これは実際に必要なユーティリティです。
コアの重要なコンポーネントの 1 つはリソースです。
1. リソースの全体的なレベル
リソースは主にリソースへのアクセス方法を定義します。すべてのリソースはリソース インターフェイスに抽象化されます。階層関係は次のとおりです。
リソースのパッケージ化。リソースは、InputStreamSource インターフェイスを上方に継承し、すべてのリソースは、InputStream を通じて取得されるため、リソース プロバイダーが保護されます。
リソースの読み込み中。 Resource の下の ResourceLoader インターフェイスでは、すべてのリソース ローダーは、以前の ApplicationContext など、このインターフェイスを均一に実装することで、すべてのリソースをロードできます。
2. Context との関係を確立する
図に示すように、ApplicationContext は ResourcePatternResolver インターフェイスを通じて ResourceLoader と対話し、リソースを読み込み、解析し、記述します。 ResourcePatternResolver は、他のコンポーネントによる使用を容易にするためにリソースをカプセル化および統合します。
概要
この記事では、Spring スケルトン フレームワークを構成する 3 つのコア コンポーネントとそれらの間の接続、および 3 つの実装原則を理解するための洞察を主に要約します。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

Java での日付までのタイムスタンプに関するガイド。ここでは、Java でタイムスタンプを日付に変換する方法とその概要について、例とともに説明します。

カプセルは3次元の幾何学的図形で、両端にシリンダーと半球で構成されています。カプセルの体積は、シリンダーの体積と両端に半球の体積を追加することで計算できます。このチュートリアルでは、さまざまな方法を使用して、Javaの特定のカプセルの体積を計算する方法について説明します。 カプセルボリュームフォーミュラ カプセルボリュームの式は次のとおりです。 カプセル体積=円筒形の体積2つの半球体積 で、 R:半球の半径。 H:シリンダーの高さ(半球を除く)。 例1 入力 RADIUS = 5ユニット 高さ= 10単位 出力 ボリューム= 1570.8立方ユニット 説明する 式を使用してボリュームを計算します。 ボリューム=π×R2×H(4

Spring Bootは、Java開発に革命をもたらす堅牢でスケーラブルな、生産対応のJavaアプリケーションの作成を簡素化します。 スプリングエコシステムに固有の「構成に関する慣習」アプローチは、手動のセットアップを最小化します。
