基本情報
概要
Spring Framework(スプリングフレームワーク)とは、Javaプラットフォームを対象とするオープンソースアプリケーションフレームワークです。軽量かつ開発がしやすく、DIとAOPを中核とした豊富な機能を搭載し、主要なJavaフレームワークとなっています。
基本説明
「Spring Framework」は、従来のウェブアプリケーションフレームワークが共通して抱えていた「仕様変更に弱い」、「プログラム単体でのテストが困難」、「メンテナンスや再利用が困難」などの諸問題に対応可能なフレームワークです。拡張性が向上し、仕様変更対応力が強化され、再利用も容易となります。テスト用API/データマイグレーションなど開発効率を向上させる工夫にも富んでいます。広範囲に及ぶインテグレーションが可能なため、導入事例は急増しており、Javaプラットフォームのメインストリームとして注目を集めています。
「Spring Framework」は「Enterprise JavaBeans (EJB) 」モデルの置換が可能なフレームワークとして認識されています。複雑なアプリケーションを効率的に作成するために必要な機能を提供します。また、NoSQL/クラウドへの接続、Twitterなどの特定のサービスとの連携など、新しい機能をいち早く取り入れることでも知られています。
「Spring Framework」は、一貫したモデルを提供し、そのモデルをJavaプラットフォーム上で作成されるさまざまなアプリケーションに適用可能とします。全レイヤーの基盤となるDI×AOPコンテナを持ち、Springを適用したアプリケーションは、依存する各レイヤーをインタフェースベースで疎結合連結させます。この仕組みで疎結合性を高めることにより開発効率を高めています。
主な機能
Inversion of Control コンテナ
アスペクト指向プログラミングフレームワーク
データアクセスフレームワーク
トランザクション管理フレームワーク
Model-View-Controller フレームワーク
リモートアクセスフレームワーク
バッチ処理フレームワーク
主な特徴
豊富なモジュール群
「Spring Framework」は、さまざまなサービスを提供するモジュール群から構成されています。「Spring Framework」の中核機能は任意のJavaアプリケーションで使えますが、「Java Platform」上にWebベースのアプリケーションを構築するためのモジュール類が豊富に用意されています。
「DI」(Dependency Injection、依存性の注入)
クラス(ライブラリ)の動作に必要な他のクラスの生成をSpringに任せます。生成されたクラス群は、Springの設定ファイルにより自動的に結合されます。このような仕組みにより、クラスやライブラリ間の依存性が排除され、 単体テストをやりやすくしたり、 それぞれのクラスやライブラリの再利用性を高めます。
「AOP」(Aspect Oriented Programming、アスペクト指向プログラミング)
クラスには「本質的な処理」のみ記述し、「共通化できる処理」をアスペクトに記述します。条件を満たすメソッドに対し共通処理を走らせることで、各クラスには本質的な処理だけを記述することが可能となります。
同様製品(概要情報)
同様な機能を提供する製品として、次のようなものがあります。
「Java EE」、「Play Framework」など。
導入事例
Java3大フレームワークの1つとされるほどの実力があるため、中小規模からエンタープライズ規模まで、さまざまな領域で幅広く利用されています。
ライセンス情報
「Spring Framework」のライセンスは、「Apache License 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。
ダウンロード
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。