Hoge.getInstance()は次のように表すことができる。
<bean name="hoge" class="Hoge" factory-method="getInstance">Seasar2で同じことをするとOGNL式をつかって以下のようになる。
<component name="hoge">@Hoge@getInstance()</component>OGNL式を定義すればいろいろできる。次のようなことも可能。SpringのJNDI系のFactoryがいらなくなる。
<component name="context" class="javax.naming.InitialContext"> <component name="hoge">context.lookup("java:comp/UserTransaction")</component>
ここまでわかっていれば明日からBeanFactory?が使えます。
リソースにアクセスするのにコンテナに依存してしまうのはいいのだろうか?
<component name="prop" class="java.util.Properties"> <initMethod name="load"> <arg>@java.lang.Thread@currentThread() .getContextClassLoader() .getResourceAsStream("nt/seasar/prop/a.properties") </arg> </initMethod> </component> <component name="hoge" class="Hoge" > <arg>prop["foo"]</arg> </component>SeasarSandboxProjectにあるS2Textを使えばもっと簡単にプロパティファイルが扱える。
この議事録を読んで分からないことや、疑問に思ったこと、その他ご意見等がありましたら下記コメント欄にお願いします。匿名でも結構です。