トップ OSS紹介 Spring Framework

Spring Framework

サポート対象

NRIのOpenStandiaが提供するSpring Framework最新情報

Spring Framework情報

Spring Frameworkとは

Spring Framework(スプリングフレームワーク)はアプリケーション開発を容易にすることを目的としたオープンソースのJavaアプリケーションフレームワークです。

Spring Frameworkの中核は、DI (Dependency Injection / 依存性の注入)と、AOP (Aspect-Oriented Programming / アスペクト指向プログラミング)です。

Spring FrameworkはRod Johnson氏が2002年に著書 「Expert One-on-One J2EE Design and Development」 と共にリリースしたInterface21 Frameworkを起源としています。その後、2004年3月に Spring Framework としてバージョン1.0 がリリースされ、2006年には Jolt productivity AwardおよびJAX innovation Award を受賞しました。

2005年10月にバージョン2.0、2007年11月にバージョン2.5、2009年12月にバージョン3.0、2013年11月にバージョン4.0、2017年9月にバージョン5.0、2022年11月にバージョン6.0がリリースされ、現在も継続して開発が進められています。

主な特徴

Spring Frameworkは、次のような特徴があります。

  • DI(依存性の注入)
    プログラムコードから依存関係を取り除き、外部から依存性を与えることで、コンポーネントの独立性が高まります。
  • AOP(アスペクト指向プログラミング)
    オブジェクトの本質ではない複数のオブジェクトにまたがる共通の処理を分離することで、オブジェクト指向では解決が困難な問題点を解決します。
  • データアクセス
    Spring JDBCやSpring DataのモジュールSpring Data JPA、Spring Data LDAP、Spring Data MongoDB、Spring Data RESTなどにより、様々な形式のデータにアクセスすることができます。
  • トランザクション管理
    JTA ・JDBCなど異なるトランザクションAPIをサポートするトランザクション管理インターフェイスと、宣言的トランザクション管理を使用することにより、トランザクションAPIに依存するコードをほとんど記述する必要がありません。
  • Web
    Spring Web MVCの柔軟なMVCモデルによるWebアプリケーションやRESTful Webサービスの作成ができます。
  • セキュリティ
    認証、アクセスコントロールなどを始めとするセキュリティ対策のフレームワークSpring Securityを使用することにより、より安全なWebアプリケーションを開発できます。

導入事例

Spring Frameworkは、多数のサブプロジェクトのモジュール群で構成されており、広範囲なインテグレーションが可能です。また、Webアプリケーション開発に必要な機能(リクエストマッピング、セッション管理、入力チェック、画面遷移処理、タグライブラリなど)を提供しており、開発の効率化が期待できます。また、既にJavaプラットフォームのメインストリームの一つとして注目を集める技術になっているため、多くの導入事例が存在しています。

類似プロダクト

Spring FrameworkのようにJavaのWebアプリケーションを開発するためのフレームワークとして代表的なものに以下があります

  • Spark Framework
  • Play Framework
  • Apache Wicket
  • Apache Struts

こんなお客さまにSpring Frameworkの導入をオススメ

次のようなお客様に、Spring Frameworkの導入をオススメします。

  • 仕様変更や拡張の際に発生する膨大な工数とコストを縮減したい
  • これまでのフレームワークを見直して作業効率の改善を図りたい
  • 周辺アプリケーションの肥大化により作業が繁雑化していると感じている
  • 開発するアプリケーションを使いきりではなく他の事例にも流用していきたい
  • EJBで実現していた機能を無理なく継承したい

Spring Framework が対応するJDKのバージョン

Spring Framework 6.x

JDK17 以上

Spring Framework 5.x

JDK 8以上

Spring Framework 4.x

JDK 6以上

Spring Framework 3.x

JDK 5以上

Spring Frameworkのライセンス

Spring Frameworkソフトウェアは、Apache 2.0ライセンスです。
Apache License(アパッチ・ライセンス)のコードが使用されていることの明記を条件に、ソースコードの自由な改変と公開が認められています。

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Apache Struts
    サポート対象

    Apache Struts

    アパッチストラッツ。Java言語を用いてWebアプリケーションを開発するためのフレームワークです。

  • Apache Wicket

    Apache Wicket

    アパッチウィケット。Javaで実装されたコンポーネントベースのWebアプリケーションフレームワークです。

  • MyBatis
    サポート対象

    MyBatis

    マイバティス。iBATISの後継プロジェクトとして開発され、Javaならびに.NET Frameworkプラットフォームが対象のデータマッパーフレームワークです。

オープンソースに関する様々な課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。