Seasar DI Container with AOP

はじめに

プラグインがDAOとして認識できるインターフェース(または抽象クラス)は、diconファイルにおいて 次のインターセプタがアスペクトされたものに限定されます。

  • org.seasar.dao.interceptors.S2DaoInterceptor
  • org.seasar.dao.pager.PagerS2DaoInterceptorWrapper
これらのインターセプタがorg.seasar.framework.aop.interceptors.InterceptorChainによって アスペクトされていても認識できます。また、ポイントカットの指定も有効ですので、DAOが認識されない場合はdiconファイルを確認してみてください。
※現在のバージョンではHot DeployおよびCool Deployにおけるアスペクトには未対応

使い方

SQLファイルを開く
  • エディタから開く
  • DAOの呼び出し元や、開いているDAOのインターフェースからSQLファイルを開くことができます。 メソッドを選択した場合はそのメソッドに対応するSQLファイルを、インターフェースを選択した場合はすべてのメソッドで対応する SQLファイルを開きます。複数DBMS対応を行っていてメソッドに対応するSQLファイルが複数ある場合は、それらすべてを開きます。

    DAOの呼び出し元から開く場合
    DAOの呼び出し元を開いてメソッドを選択し、コンテキストメニューから「対応するSQLを開く」をクリックします。

    10

    DAOから開く場合
    DAOを開いてメソッドを選択し「対応するSQLを開く」をクリックします。

    11

    SQLマーカから開く場合
    SQLマーカをクリック(またはSQLマーカのある行で 「Ctrl + 1」)するとSQLファイルが全て表示されるので選択的に開くことができます。 SQLファイルが複数ある場合は「全てのSQLファイルを開く」のメニューが表示されるようになります。


  • パッケージエクスプローラーやタイプ・メンバービューから開く
  • パッケージエクスプローラー上でDAOのjavaファイルを選択することや、javaファイルを展開してメソッドを選択することでも SQLファイルを開くことができます。また、Java参照パースペクティブのタイプビューやメンバービューでも同じように使うことができます。

    「パッケージエクスプローラ」から開く場合
    Javaファイルを展開してメソッド、またはタイプを選択します。Javaファイルを選択した場合は、トップレベルのタイプを選択したことになります。

    12
SQLファイルを作成する

    SQLファイルを開こうとして対応するSQLファイルが存在しない場合は、SQLファイル作成用のウィザードを使って新規に作成する ことができます(ただし、メソッドを選択しているときのみ有効)。また既にSQLファイルがあるメソッドに対して作成したい場合は SQLマーカから作成することもできます。ファイル名や保存するフォルダは自動的に決定されるのでほとんどの場合変更する必要はありません。 複数DBMS対応を行いたいときは、使用するDBMSを選択するとファイル名にサフィックスが追加されます。

    1. SQLファイルを開く」と同様にして、SQLファイルの存在しないメソッドを選択すると メッセージボックスがポップアップします。



    1. OKをクリックすると「SQLファイルの新規作成ウィザード」が開きます。 複数DBMS対応を使用している場合は、DBMSを選択して「終了」ボタンをクリックすれば完了です。 保存先のディレクトリやSQLファイル名は自動的に決まるので、ほとんどの場合、変更する必要はありません。



    ポイント
    SQLファイルの保存先ディレクトリはどのように決まるのでしょうか。 プラグインは、DAOのパッケージ名から最もSQLファイルが多く存在するディレクトリを探し出します。 SQLファイルが1つも見つからない場合、常にDAOと同じディレクトリに作成しようとします。 したがって、最初に作成するときだけ適当な保存先を選択してください。

SQLファイルのあるメソッドにマーカを付ける

    S2Daoのインターセプタがアスペクトされていて対応するSQLファイルのあるメソッドにマーカが付きます。 S2Daoプラグインが有効になっている限り自動的に付くので何もする必要はありません。