Java Seasar2 - user000422/0 GitHub Wiki

概要

サポート終了 2016年9月26日

SpringやStrutsと異なり、小規模で柔軟性が求められる開発現場で利用される。 機能が豊富であり、設定ファイルの記述量が少ない。 DI(依存性注入)やAOP(アスペクト指向プログラミング)といった技術を提供 アノテーションを用いた記述などを活用すれば、従来のXMLファイルに比べて記述量を大幅に減少できます。

■DI(Dependency Injection) クラスに必要な情報をクラス内で生成して持つのではなく、アノテーションやxmlファイルなどを使って外から設定することを注入と言います。

■AOP(Aspect Oriented Programming) Javaは多重継承が許されていません。 共通できる処理でも個々のクラスに書かなければならない場合があります。そのような場合に、共通メソッドをアノテーションで注入していく。

■公式チュートリアル https://sastruts.seasar.org/tutorial.html

構成

src配下を基底とする。 必ずしもこれではない。ディレクトリ名等はほとんどの場合は同じ。

パス 説明
main/java java
main/webapp/WEB-INF/view view(JSP等)
ファイル 説明
main/webapp/WEB-INF/web.xml webアプリケーション設定

プログラム

Action

■実行メソッド 戻り値は「string」、アノテーション「@Execute」が必須。

@Execute
public String SampleFunction() {
  return '/sample.jsp'; // returnは遷移先のパス
}

■【アノテーション】Resource DataSourceやDAO等のコンポーネントを参照。 フィールドまたはsetメソッドに設定する。

@Resource
private SampleDao sampleDao; // フィールド

public String SampleFunction() {
  this.sampleDao.insertData(sampleData); // DI使用(例は新規レコードINSERT)
}

■Beans

// プロパティのコピー
Beans.copy(src, dest).execute(); // 第1引数:コピー元、第2引数:コピー先