AutoRegisterのところのソース読んでわかった。なるほど、自動バインディング前提だったか。
autoBinding="none"
をとったらすんなり動いた。あああああああ。
Seasar2は自動バインディングが標準状態でわけがわからなくなるのが嫌で、何が何でも"none"設定するというのが癖になっていたようだ。そして余計なところにもつけてしまったようだ。orz
本人としては自動登録されたコンポーネントに自動バインディングされないようにしたかったらしい。AutoRegister自体Seasar2の上で動いているということを考えていなかった。
おさわがせしました。
VisualWebJSFと連携する場合、Spring2.5のときはVariableResolver+getBeanを使うのがもっとも効率的だったが、Seasar2の場合シングルトンのコンテナがあるのでそっちを使ったほうがいいのかな。キャストが要らなくなるし。でも、Seasar2依存コードが現れるのはあんまりよくない(?)と考えると同様にVariableResolverを使ったほうがいいか。
これで素の状態だけだとSeasar2.4とSpring2.5はほぼ同じところに立った感じ。問題はJPAを使ったときだな。Seasar2にSpringのJpaTemplateみたいなのはあるのだろうか。まぁなくてもいいけど。Guiceはなかったし。