Spring コア フレームワーク アーキテクチャ

巴扎黑
リリース: 2017-04-30 10:13:58
オリジナル
1608 人が閲覧しました

多くの人が Spring を使用して Java プロジェクトを開発していますが、Maven の依存関係を構成するときに、どの Spring jar をランダムに追加し、コンパイルまたは実行エラーが報告されても jar の依存関係の構成を続けることがよくあります。 、その結果、Spring 依存関係が混乱したり、一度に同じ種類のプロジェクトを作成するときに、どの Spring 依存関係を構成すればよいのかわかりません。実際、最初はそれをコピーすることしかできませんでした。 !

Spring には約 20 個の jar パッケージしかなく、それぞれに対応する機能がある 1 つの jar が他の複数の jar に依存している可能性があるため、それらの間の関係を理解し​​、Maven の依存関係を構成することが簡潔かつ明確になります。通常の Java プロジェクトで Spring フレームワークを使用するには、どのような jar が必要ですか?一つだけ

れぇ

Web プロジェクトに Spring MVC を導入するのはどうでしょうか?依存関係を 1 つだけ設定する必要があります

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>3.2.17.RELEASE</version>
</dependency>
ログイン後にコピー

なぜこのように設定できるのでしょうか?次に、Spring 3.2.17.RELEASE バージョンを例として、Spring 4 のフレームワークの構造を紹介します。これは最後に紹介します

。 Spring公式サイトにSpring 3の構造図が掲載されています

この図では、Spring が 5 つの部分 (コア、AOP、データ アクセス、Web、テスト) に分割されています。図内の各角丸長方形は、Maven で構成されている場合、これらすべての JAR の「groupId」は「org」.springframework に対応します。 "、各 jar には異なる "artifactId" があり、さらに "instrumentation" には 2 つの jar があり、"spring-context-support" は図にはリストされていないため、spring3 には合計 19 個の jar パッケージがあります。

以下に、これら 5 つの部分の jar と依存関係を紹介します

コア

コア部分には 4 つのモジュールが含まれています

  1. spring-core: 依存関係注入 IoC と DI の最も基本的な実装


  2. spring-beans: 豆工場と豆の組み立て


  3. spring-context: Spring のコンテキスト context は IoC コンテナです


  4. spring-expression: 春の表現言語

彼らの完全な依存関係

spring-core は commons-logging に依存し、他のモジュールも spring-core に依存するため、Spring フレームワーク全体が commons-logging に依存します。log4j などの独自のログ実装がある場合は、commons-logging への依存を排除​​できます。いいえ、ログの実装では commons-logging の依存関係が除外され、エラーがコンパイルされます

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.2.17.RELEASE</version>
</dependency>
ログイン後にコピー

あお

aop 部分には 4 つのモジュールが含まれています

  1. spring-aop: アスペクト指向プログラミング


  2. spring-aspects: 統合された AspectJ


  3. spring-instrument: サーバーにクラスレベルのツールサポートとクラスローダーレベルの実装を提供します


  4. spring-instrument-tomcat: Tomcat のインストゥルメント実装

彼らの依存関係

データアクセス

データアクセス部分には5つのモジュールが含まれています

  1. spring-jdbc: jdbc サポート


  2. spring-tx: トランザクション制御


  3. spring-orm: オブジェクト リレーショナル マッピング、統合 Orm フレームワーク


  4. spring-oxm: オブジェクト XML マッピング


  5. spring-jms: Java メッセージング サービス

彼らの依存関係

ウェブ

Web パーツには 4 つのモジュールが含まれています

  1. spring-web: ファイルアップロードなどの基本的な Web 機能


  2. spring-webmvc: mvc 実装


  3. spring-webmvc-portlet: ポートレットベースの MVC 実装


  4. spring-struts: struts との統合、非推奨、spring4 では提供されなくなりました

彼らの依存関係

テスト

テスト部分にはモジュールが 1 つだけありますが、ここにも spring-context-support を入れます

  1. 。 spring-test: Spring テスト、junit および模擬テスト機能を提供します


  2. spring-context-support: 電子メール サービス、ビュー分析などの Spring 追加サポート パッケージ

彼らの依存関係

Spring 3 の紹介はこれで終わりです。これらの写真を見れば、Maven で Spring の依存関係を設定するときに混乱することはなくなると思います

以下は spring3 と基本的に同じ構造の spring4 を紹介します。 以下は公式 Web サイトに掲載されている構造図です

ご覧のとおり、spring3 の struts が図から削除され、メッセージングと WebSocket が追加され、その他のモジュールは変更されていません。したがって、spring4 の jar は 20 個あります

  1. 。 spring-websocket: Web アプリケーション用の効率的な通信ツール


  2. spring-messaging: メッセージングベースのアプリケーションの構築用

彼らの依存関係

以上がSpring コア フレームワーク アーキテクチャの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート