Spring フレームワークは、コア、Bean、コンテキスト、式言語、AOP、アスペクト、インストルメンテーション、JDBC、ORM、OXM、JMS、トランザクション、Web、サーブレット、Struts などの多くのモジュールで構成されています。これらのモジュールは、テスト、コア コンテナにグループ化されています。次の図に示すように、AOP、アスペクト、インストルメンテーション、データ アクセス / 統合、Web (MVC / リモーティング)。
テスト
このレイヤーは、JUnit および TestNG を使用したテストのサポートを提供します。
スプリングコアコンテナ
Spring Core コンテナには、コア、Bean、コンテキスト、および式言語 (EL) モジュールが含まれています。
芯と豆
これらのモジュールは、IOC および依存性注入機能を提供します。
コンテクスト
このモジュールは、国際化 (I18N)、EJB、JMS、基本リモート処理をサポートします。
表現言語
これは、JSP で定義された EL の拡張です。プロパティ値の設定と取得、メソッドの呼び出し、コレクションとインデクサーへのアクセス、名前付き変数、論理演算子と算術演算子、名前によるオブジェクトの取得などのサポートを提供します。
AOP、アスペクトおよびインストルメンテーション
これらのモジュールはアスペクト指向プログラミングの実装をサポートしており、アドバイスやポイントカットなどを使用してコードを分離できます。
アスペクト モジュールは、AspectJ との統合のサポートを提供します。
インストルメンテーション モジュールは、クラス インストルメンテーションとクラスローダーの実装をサポートします。
データアクセス/統合
このグループは、JDBC、ORM、OXM、JMS、およびトランザクション モジュールで構成されます。これらのモジュールは基本的に、データベースとの対話のサポートを提供します。
ウェブ
このグループは、Web、Web-Servlet、Web-Struts、および Web-Portlet で構成されます。これらのモジュールは、Web アプリケーションの作成をサポートします。