diconファイルのコンポーネントタグ内でprintlnができるの知りませんでした

Seasarの調べ物しててUCHDさんのはてなのdiconファイル例を見てたらOGNLの面白い応用例があったのでメモ。

こんな感じでdiconファイルに書くと、、、

  <component name="hogeService" class="sample.HogeService">
    <initMethod>#out.println("=====create component")</initMethod>
  </component>

アプリ起動時にコンソールへと出てきます。

=====create component

おぉ〜!知らんかった。つーか超便利!!

diconファイルに記述したコンポーネントが、ちゃんと起動時のプロセスで通っているか確認するのにいいですね。

<component
  class="org.seasar.framework.container.autoregister.ComponentAutoRegister" instance="prototype">
<initMethod name="addClassPattern">
  <arg>"com.sample.service"</arg>
  <arg>".*ServiceImpl"</arg>
</initMethod>
<initMethod>#out.println("=== REGIST: ComponentAutoRegister")</initMethod>
</component>

こんなんでもOK〜

参考サイト

OGNLガイド - Seasar -