Spring-architecture

提供:Dev Guides
移動先:案内検索

Spring Framework-アーキテクチャ

Springは、すべてのエンタープライズアプリケーションのワンストップショップになる可能性があります。 ただし、Springはモジュール式であるため、残りを持ち込むことなく、どのモジュールを自分に適用できるかを選択できます。 次のセクションでは、Spring Frameworkで使用可能なすべてのモジュールについて詳しく説明します。

Spring Frameworkは、アプリケーションの要件に基づいて使用できる約20のモジュールを提供します。

Spring Framework Architecture

コアコンテナ

コアコンテナは、コア、Bean、コンテキスト、および式言語モジュールで構成され、その詳細は次のとおりです-

  • Core モジュールは、IoCおよびDependency Injection機能を含むフレームワークの基本的な部分を提供します。
  • Bean モジュールは、FactoryFactoryの洗練された実装であるBeanFactoryを提供します。
  • Context モジュールは、CoreおよびBeansモジュールによって提供される強固な基盤の上に構築され、定義および設定されたオブジェクトにアクセスするための媒体です。 ApplicationContextインターフェースは、Contextモジュールの中心です。
  • SpEL モジュールは、実行時にオブジェクトグラフを照会および操作するための強力な式言語を提供します。

データアクセス/統合

データアクセス/統合層は、JDBC、ORM、OXM、JMS、およびトランザクションモジュールで構成され、その詳細は次のとおりです-

  • JDBC モジュールは、面倒なJDBC関連のコーディングを不要にするJDBC抽象化レイヤーを提供します。
  • ORM モジュールは、JPA、JDO、Hibernate、iBatisなどの一般的なオブジェクトリレーショナルマッピングAPIの統合レイヤーを提供します。
  • OXM モジュールは、JAXB、Castor、XMLBean、JiBX、およびXStreamのオブジェクト/XMLマッピング実装をサポートする抽象化レイヤーを提供します。 Java Messaging Service JMS *モジュールには、メッセージを生成および消費するための機能が含まれています。
  • Transaction モジュールは、特別なインターフェイスを実装するクラスおよびすべてのPOJOのプログラムおよび宣言トランザクション管理をサポートします。

Web

Web層は、Web、Web-MVC、Web-Socket、およびWeb-Portletモジュールで構成され、その詳細は次のとおりです-

  • Web モジュールは、マルチパートファイルアップロード機能や、サーブレットリスナーとWeb指向のアプリケーションコンテキストを使用したIoCコンテナの初期化など、基本的なWeb指向の統合機能を提供します。
  • Web-MVC モジュールには、Webアプリケーション用のSpringのModel-View-Controller(MVC)実装が含まれています。
  • Web-Socket モジュールは、Webアプリケーションでのクライアントとサーバー間のWebSocketベースの双方向通信をサポートします。
  • Web-Portlet モジュールは、ポートレット環境で使用されるMVC実装を提供し、Web-Servletモジュールの機能をミラーリングします。

その他

AOP、アスペクト、インストルメンテーション、Web、テストモジュールなど、その他の重要なモジュールはほとんどありません。詳細は次のとおりです-

  • AOP モジュールは、アスペクト指向のプログラミング実装を提供し、メソッドインターセプターとポイントカットを定義して、分離すべき機能を実装するコードを明確に分離できます。
  • Aspects モジュールは、AspectJとの統合を提供します。AspectJは強力で成熟したAOPフレームワークです。
  • Instrumentation モジュールは、特定のアプリケーションサーバーで使用されるクラスインストルメンテーションサポートとクラスローダー実装を提供します。
  • Messaging モジュールは、アプリケーションで使用するWebSocketサブプロトコルとしてSTOMPのサポートを提供します。 また、WebSocketクライアントからのSTOMPメッセージをルーティングおよび処理するための注釈プログラミングモデルもサポートしています。
  • Test モジュールは、JUnitまたはTestNGフレームワークを使用したSpringコンポーネントのテストをサポートします。