Spring 関連のログ


JUnitでInterceptorのテスト

Struts2のInterceptorをJUnitでテストしてみました。
そのときちょっと面倒なのがActionInvocation づくり。
コレを使えば割と簡単です。

com.opensymphony.xwork2.mock.MockActionInvocation

HttpServletRequest を作りたいときはコレ。

org.springframework.mock.web.MockHttpServletRequest

もう、リクエストやらセッションやらいろいろ値を入れられます。

// アクションコンテキスト
HashMap<String, Object> contextMap = new HashMap<String, Object>();
  

Spring排除

Spring はアノテーションベースのビーンの生成や依存性の注入してくれますが、それほどコードの削減にはならないとのことでフレームワークから排除することになりました。
iBatis が Spring と親和性が高いので、Spring を排除した状態で Struts2 から利用できるようにするには、DAOのインスタンス化に工夫が必要でしたが、それでも Spring を排除できて、少し軽くなった気分です。あくまで気分ですけど。

@Resourceアノテーション使う?

あけましておめでとうございます。今年もよろしくお願いします。

struts2+Srping+iBATISで弊社お客様のフレームワークづくりをしています。
正月休み中に発見したTIPSを1つ。

アクションで@Resourceアノテーションを使って、DAOを初期化することができますが、これが使えるのはアクションクラスだけで、それ以外の共通部品でDBを呼びたいときは使えません。

ありがたやTransactionIterceptor

といっても、自作のインターセプターですけどね。
これまでトランザクションの処理は各アクションに記述してきました。
PHPでも、Perlでも、.NETでも、Javaでも同様でした。
しかし、Java+Struts2+Spring2でトランザクションの処理をアクションで記述する必要がなくなります。
DIって前処理ばかり挿入するものかと思っていたけど、全体の処理の外側にも挿入できるのですね。
すばらしぃ~。こんなことに感動してはいけないのだろうか。。。

Javaモード

かなり時間が空いてしまいました。
Java+Struts2+Spring2+iBATIS という組み合わせで目下開発中です。
Perl+Catalystも面白かったけど、こっちも面白いです。
タイムリーにStruts2の書籍を発見しとても勉強になりました。
Javaモードでブログ復活です!