3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Springの歴史と構成

Last updated at Posted at 2019-03-25

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がリリースされている。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?