WebWork2+Seasar2

学習記ではまだ作っていませんが、業務ではWebWork2Seasar2で作り始めています。
S2XworkでActionにセットされるのはinterfaceを利用したコンポーネントだけで、自動インジェクションされないDTOをどうするかが問題でした。XWorkコンポーネントを管理するといちいちinterfaceを書かなきゃいけないのでSeasar2で管理しているのですが、DTOをActionにセットする場合はActionをdiconにも書かなきゃいけないのが面倒です。
とりあえずService以外にActionにセットしたいのはDtoくらいなので、Actionに末尾がDtoのsetterがあったら同じプロパティ名のコンポーネント探してきてActionにセットするInterceptorを作ってみました。
これでxwork.xmlにActionの定義を書かなくて済む。
あとはXWorkSeasar2のInterceptorが共通で使えればもっといいんだけど…。