多くの人が 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 つのモジュールが含まれています
spring-core: 依存関係注入 IoC と DI の最も基本的な実装
spring-beans: 豆工場と豆の組み立て
spring-context: Spring のコンテキスト context は IoC コンテナです
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 つのモジュールが含まれています
spring-aop: アスペクト指向プログラミング
spring-aspects: 統合された AspectJ
spring-instrument: サーバーにクラスレベルのツールサポートとクラスローダーレベルの実装を提供します
spring-instrument-tomcat: Tomcat のインストゥルメント実装
彼らの依存関係
データアクセス部分には5つのモジュールが含まれています
spring-jdbc: jdbc サポート
spring-tx: トランザクション制御
spring-orm: オブジェクト リレーショナル マッピング、統合 Orm フレームワーク
spring-oxm: オブジェクト XML マッピング
spring-jms: Java メッセージング サービス
彼らの依存関係
Web パーツには 4 つのモジュールが含まれています
spring-web: ファイルアップロードなどの基本的な Web 機能
spring-webmvc: mvc 実装
spring-webmvc-portlet: ポートレットベースの MVC 実装
spring-struts: struts との統合、非推奨、spring4 では提供されなくなりました
彼らの依存関係
テスト部分にはモジュールが 1 つだけありますが、ここにも spring-context-support を入れます
。 spring-test: Spring テスト、junit および模擬テスト機能を提供します
spring-context-support: 電子メール サービス、ビュー分析などの Spring 追加サポート パッケージ
彼らの依存関係
Spring 3 の紹介はこれで終わりです。これらの写真を見れば、Maven で Spring の依存関係を設定するときに混乱することはなくなると思います
以下は spring3 と基本的に同じ構造の spring4 を紹介します。 以下は公式 Web サイトに掲載されている構造図です
。
ご覧のとおり、spring3 の struts が図から削除され、メッセージングと WebSocket が追加され、その他のモジュールは変更されていません。したがって、spring4 の jar は 20 個あります
。 spring-websocket: Web アプリケーション用の効率的な通信ツール
spring-messaging: メッセージングベースのアプリケーションの構築用
彼らの依存関係
以上がSpring コア フレームワーク アーキテクチャの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。