SAStruts&S2JDBC導入〜雑感

最近は会社として実績があるRailsやSpringWebFlowでのシステム構築を行っていたが、ぶっちゃけ飽きてきた。
そんな中、自分でFW選定可能な案件が舞い込んできたので、以前から非常に興味があったSAStrutsを2日ほど弄ってみた。

前提

  • WindowsXP SP2
  • J2SE6.0 + Tomcat6系
  • DB:MySQL4.0系

雑感

  • Action名がURLにバインディングされるのは確かにRailsっぽくてすごい便利。こいつを経験するとノーマルStrutsXML地獄には戻れん。
  • HOT Deployを初めて使ったが、こいつを経験するとry)
  • S2JDBCの「流れるようなインターフェース」は直感的で凄く使いやすい。ActiveRecordが無くても、これでサクサクDBアクセスできそう♪
  • jdbc初期設定ファイルにMySQLでのエンコーディング設定注意点が書いてあったのが地味に嬉しい。(ハマる原因だからな〜)
  • あくまでStrutsのラッパーなので、使い慣れたstruts-taglibがそのまま使える。

注意点

  • Eclipse上でTomcat Launcherを動かす場合、jarファイルが「/webapp/WEB-INF/lib」に無いと有効にならない。

(※ver1.0.1-rc1で直ってるバグが、該当フォルダのjarファイルがver1.0.0になっていてハマった。)

  • Doltengで作られるpomファイルの設定だと、Maven2で再ビルドしても該当フォルダのjarファイルが更新されない? ※2008/05/13追記 「mvn war:inplace」で更新される模様。

不明点&希望

  • ScopeがRequest or Session のはオブジェクト管理が面倒。(SpringWebFlowのFlowScopeみたいのがあれば良いのだが。)
  • S2JDBCで主キーでの一対一関連はできないのか・・・? 外部キー関連の説明はあるけど、既存DBに主キーが共通のテーブルも多いので、できると嬉しい。 →可能とのこと。コメント参照。
  • ユニットテストの使い所の見極めが難しい。今まではServiceにロジックを集中させていたので、そこを重点的にユニットテストしていたのだが、SAStrutsではロジックをActionにほぼ実装するのを推奨しているので・・・(※HOT Deployで即時確認できるのも、逆にユニットテストを書かなくなる気がする。)

なんにせよ他のJavaフレームワークとは一線を隔す出来だと思う。
導入ケテーイ。