SAStruts&S2JDBC導入〜雑感
最近は会社として実績があるRailsやSpringWebFlowでのシステム構築を行っていたが、ぶっちゃけ飽きてきた。
そんな中、自分でFW選定可能な案件が舞い込んできたので、以前から非常に興味があったSAStrutsを2日ほど弄ってみた。
前提
- WindowsXP SP2
- J2SE6.0 + Tomcat6系
- DB:MySQL4.0系
雑感
- Action名がURLにバインディングされるのは確かにRailsっぽくてすごい便利。こいつを経験するとノーマルStrutsのXML地獄には戻れん。
- HOT Deployを初めて使ったが、こいつを経験するとry)
- S2JDBCの「流れるようなインターフェース」は直感的で凄く使いやすい。ActiveRecordが無くても、これでサクサクDBアクセスできそう♪
- jdbc初期設定ファイルにMySQLでのエンコーディング設定注意点が書いてあったのが地味に嬉しい。(ハマる原因だからな〜)
- あくまでStrutsのラッパーなので、使い慣れたstruts-taglibがそのまま使える。
注意点
(※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で即時確認できるのも、逆にユニットテストを書かなくなる気がする。)