Spring Framework は特定のプログラミングモデルを強制するものではないが、Javaコミュニティでは Enterprise JavaBeans (EJB) モデルの代替・置換・追加として広く認知されつつある。設計上、このフレームワークはJava開発者の自由度を高くしているが、ドキュメントが豊富であり、よくある状況に使える使いやすいソリューションを提供する。
Spring Framework の中核機能は任意のJavaアプリケーションで使えるが、Java Platform, Enterprise Edition 上に Web ベースのアプリケーションを構築するための拡張や改善が豊富に用意されている。その用途で Spring を使うことが多く、注目されている。
最初のリリースは、2003年6月で、Apache License 2.0 でライセンスされていた。1.0 がリリースされたのは2004年3月である。
モジュール
- 制御の反転コンテナ: 主に依存性の注入によって、アプリケーションのコンポーネント配置と Java オブジェクトのライフサイクルを管理
- アスペクト指向プログラミング: クラス横断的な処理の実装を可能とする
- データアクセス: JDBCとオブジェクト関係マッピングツールを用い、Javaプラットフォーム上でRDBアクセス機能を提供。また、NoSQL系データベースもサポート
- トランザクション管理: 各種トランザクション制御APIを統合し、Javaオブジェクトのトランザクション管理を提供
- Model View Controller: HTTPとServletベースのフレームワークで、WEBアプリやREST準拠WEBサービスの拡張とカスタマイズのためのフックを多数提供している。
- リモートアクセスフレームワーク: 利用者の定義に従い、RPCの形態でJavaオブジェクトをネットワーク上でインポートまたはエクスポートする。サポートする通信プロトコルとしては RMI、CORBA、Webサービスを含むHTTPベースのプロトコル (SOAP) などがある。
- 設定より規約: en:Spring Roo モジュールによって、Spring ベース業務アプリケーションのRAD(開発迅速化)ソリューションを提供
- バッチ処理: 大量データ処理向けのフレームワークとして次のような機能を提供:ログ取得、トランザクション管理、統計情報取得、ジョブの再起動や起動抑止、資源管理
- 認証・認可フレームワーク: en:Spring Securityサブプロジェクト(従前の Acegi Security System for Spring)の成果物を用い、利用者定義に従った認証・認可機能を提供。各種標準、プロトコル、ツール、手法をサポート
- リモート管理フレームワーク: JMXを使ったローカルおよびリモートのJavaオブジェクトの構成管理。
- メッセージフレームワーク: 標準的なJMSの API に対する機能拡張。利用者定義に従い、JMS のメッセージキューから透過的にメッセージ受信するためのリスナーオブジェクトを登録可能とする
- テスト機能: 単体テストと結合テストを書くためのクラス群を提供
基本プロジェクト
- Spring Security
- Spring Integration
- Spring Batch
- Spring Data
- Spring Web Flow
- Spring Web Services
- Spring Mobile
- Spring Social
- Spring Android
0 件のコメント:
コメントを投稿