Seasar2のconvention.diconに複数のルートパッケージを追加
スズキです。
Seasar2でjarファイルにあるDAO(別パッケージ)をDI/AOPしようとしたときに、
今までは、JarComponentAutoRegisterをapp.diconに書くことによって
実現していました。
近頃、SmartDeployを覚えて、同様のことを試すと、
例外が発生してしまいます。(どのような例外かは忘れてしまいました)
で、途方にくれていたら、ふと、
ルートパッケージを定義しているconvention.diconの、
実際にルートパッケージを追加するメソッドは
addRootPackageName
だったなー。
"add"!?、
"set"じゃないんだ!
ということで、下記を試してみたら、見事にjarのほうのパッケージも
ルートパッケージとして認識して、SmartDeployを通して、
DAOもDI/AOPされるようになりました。
--------convention.dicon
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC
"-//SEASAR//DTD S2Container 2.4//EN"
"http://www.seasar.org/dtd/components24.dtd">
<components>
<component
class="org.seasar.framework.convention.impl.NamingConventionImpl">
<initMethod name="addRootPackageName">
<arg>"jp.co.iret.suz.user"</arg>
</initMethod>
<initMethod name="addRootPackageName">
<arg>"jp.co.iret.suz.common"</arg>
</initMethod>
</component>
</components>
--------
댓글 없음:
댓글 쓰기