Spring Frameworkのバージョン遷移
バージョン | 年度 | 内容 |
---|---|---|
1.0 | 2004 | DIコンテナ, AOP, XMLベースのBean定義等 |
2.0 | 2006 | Spring Securityなどの周辺プロジェクト |
2.5 | 2007 | アノテーションベースのDI, MVC対応 |
3.0 | 2009 | Javaベースコンフィグレーション BeanVaridetion |
4.0 | 2013 | WebSocket, Webメッセージングのサポート |
開発思想
・J2EEでの複雑な開発を避けるため、軽量フレームワークを目的として作られた。
・しかし、長い時が経ち規模が大きくなり「軽量」⇒「重厚」となった。
各プロジェクトの特徴
Spring MVC
・MVCパターンを採用したWebアプリケーションフレームワーク
・MVCパターンのフレームワークは他にStrutsやJSFがある。
・MVCには二種類ある。
1.アクションベースフレームワーク
・リクエストによって実行する処理を決定する。
・Spring MVCやStrutsが該当する。
2.コンポーネントベースフレームワーク
・画面の構成部品をベースとする。
・JSFが該当する。
・様々なサードパーティライブラリと連携が可能
(ex. Hibernate Varidator)
Spring Security
・認証(Authentication)と認可(Authorization)を実現するためのフレームワーク
・多くの認証方式を提供し「サードパーティ製」「Spring提供」「独自実装」と
様々な選択が可能。
Spring Data
・DBへのアクセス処理を容易にするためのライブラリ。
・以下のように様々な機能で構成される。
- Spring Data Commons
・データアクセスに必要な共通的なインターフェース(Repositoryインターフェース)を提供
- Spring data JPA
・JPAを用いたデータアクセスを行うために、Repositoryインターフェースの実装を最小限にする
仕組みを提供
- etc
Spring Batch
・バッチ処理を行うための共通部品を提供する軽量フレームワーク
・以下の処理を行う。
- 大容量のデータ処理
- ファイルやDBへの入出力処理
- トランザクション管理
- リソース管理
・類似したフレームワークに jBatch がある。
Spring Integration
・システム間連携を行うために、非同期メッセージ駆動型アプリケーションの仕組みを提供
Spring Cloud
・Cloudを利用した開発のためのフレームワーク?
・多くのサブプロジェクトで構成される。
Spring Tool Suite
・Springアプリケーションの開発に特化したEclipseベースの統合開発環境
・MavenやGitなどの開発に必要なソフトウェアが同梱されている。
Spring IO Platform
・Springやサードパーティの各ライブラリのバージョンを決定し依存関係を解決するためのプロジェクト。
・2014年にver1.0がリリースされている。
Spring Boot
・Spring特有の煩わしいxmlによる様々な定義が不要になる。
・アプリケーションサーバへのデプロイが不要になる。
・簡単にSpringアプリケーションを開発することを目的に開発された。
・2014年にver1.0がリリースされている。