Spring1.xではなく、最新のSpring2.xを使って勉強する。
現在勉強中でーす。
パッケージ構成
- Coreパッケージ
- フレームワークの根本的な部分。IoC(Inversion of Control)やDI(Dependency Injection)の概念を提供する。基本概念としてBeanFactoryという洗練されたFactoryパターンの実装を提供するクラスなどがある。BeanFactoryクラスによって、プログラムからシングルトンの排除、設定との分離、プログラムロジックからの依存を明確にすることができる。
- Contextパッケージ
- Coreパッケージによって提供されるSolid
Baseの技術で構築されている。JNDIのような方法でオブジェクトにアクセスする方法を提供する。コンテキストパッケージは、beansパッケージの
特徴を継承している。さらに、リソースバンドルを利用した国際化(I18N)、イベント伝播、リソースのローディング、透過的なコンテキストの作成などを
サポートする。
- DAOパッケージ
- DAOパッケージはJDBC抽象化レイヤを提供する。これは、退屈なJDBCコーディングや、データベースベンダのエラーコード仕様解析の必要性
がなくなる。JDBCパッケージは、宣言方のトランザクション管理と同様に、プログラマティックな方法を提供する。インタフェース仕様を実装したクラスだ
けではなく、POJO(plain old Java objects)もサポートしている。
- ORMパッケージ
- JPA、JDO、HibernateやiBatisといった、O/RマッピングAPIのためのインテグレーションレイヤ(統合レイヤ)を提供する。ORMパッケージを使うことによって、O/Rマッピングを複合的に利用することができる。
- AOPパッケージ
- AOP
Alliance準拠のアスペクト指向プログラムを提供する。例としてメソッドインターセプタや、論理的に機能を実装したコードとの分離などがある。ソー
スレベルのメタデータを機能的に使うことによって、コード内へ全ての種類の振る舞いに関する情報を連携することができる。
- Webパッケージ
- 基本的なWeb指向の統合的機能を提供する。例えば、ファイルアップロードや、サーブレットリスナを私用したIoCコンテナのイニシャライズ、Web指向アプリケーションコンテキストなどを提供する。Springと一緒にWebWorkやStrutsを使ったときに、それらを統合的にまとめるパッケージ。
- MVCパッケージ
- WebアプリケーションのためにMVC(Model-View-Controller)を提供する。MVCフレームワークは、モデルとWebフォームを明確に分離する。そして、Springフレームワークの提供する他の全ての機能を利用できる。
インストール
「http://www.springframework.org/」
から「spring-framework-2.0.4-with-dependencies.zip」をダウンロードして解凍する。distフォルダに
SpringのJarファイル郡がある。spring.jarは全てをまとめたもので、それぞれのモジュールは「dist/modules」にある。
また、それ以外に関連するモジュールは「lib」フォルダ以下に大量にある。最低限必要なのは「commons-logging.jar」のみっぽい。
とりあえず、spring.jarとcommons-logging.jarをEclipseのプロジェクトから参照して使ってみる。