Seasar
The Seasar Projectは、日本のオープンソースプロジェクトの1つ。当初、比嘉康雄を中心とするメンバーによるSeasar2(正確にはS2Container)と呼ばれるJavaのためのDI (Dependency Injection) とAOP (Aspect Oriented Programming) をサポートした軽量コンテナの開発を進めるプロジェクトであったが、現在は特定非営利法人Seasarファウンデーションの元、The Seasar ProjectというS2Containerを中心としたコミュニティを形成し、Java、PHP、.NETなど多種多様な言語のためのオープンソースプロジェクトと発展している。なお、一般にSeasarおよびSeasar2と表記した場合、S2Containerを指すことが多い。
歴史
[編集]Seasarは、初め2003年8月にJettyとHSQLDBを使ったアプリケーションサーバとして、SourceForge.jp上で公開された。 その名前は、比嘉氏の出身地である沖縄の象徴的な生き物であるシーサーに因んで名付けられた。
2004年3月、SeasarはSeasar2と名を変えて、DI・AOPコンテナとして再公開された。しかし、Seasarの開発は停止する(最終版は、Seasar2のサイトからまだダウンロードできる)。2005年4月、Seasar2はOSCJ.netの支援を受けて、SourceForge.jpから移動する。
2016年9月26日、Seasarプロジェクトが提供するプロダクトの多くはEOL(End of Life)となる。 例外については外部リンクのSeasar project を参照のこと。
概要
[編集]その他のDIコンテナと同じように、コンポーネントは、外部XMLファイルに定義する。データーベースの設定や、JUnitによるユニットテストの支援についても同様に定義する。
その他のフレームワークとの主な違いは、「設定よりも規約」という概念のサポートである。それは、Spring Framework等で必要なXMLによる設定の減少である。 開発者にフレームワークを動作させるための規約に従わせ、設定ファイルを減らすか除去することを目的とする。
例えばもし、プロパティの型が、ただ一つの実装を持つインターフェースならば、依存関係はコンテナによって自動的に設定される。 もし、テストクラスのメソッドの末尾が、"Tx"ならば、トランザクションは、テスト実行前に初期化され、テスト終了後にロールバックされる。