[Seasar-user:3997] 2つのプロジェクト間でのDIが行われない
吉岡 武志/インフォセンス
[E-MAIL ADDRESS DELETED]
2006年 6月 29日 (木) 22:48:13 JST
吉岡といいます。
現在、下記の環境を構築し実行したところオブジェクトがDIされない現象が発生し
困っています。
mainProject と testProjectという2つのプロジェクトを作成し
testProjectのビルドパスにmainProjectを追加している環境を構築しています。
また、mainProjectとtestProjectは、全く同じパッケージ構成にしています。
mainProjectのパッケージにJobDaoインターフェースを配置して、testProjectに
JobDao
インターフェースをimplしたJobDaoImplクラスを配置します。
mainProject側のdiconにAutoNamingでDIされるように定義しておき、testProject側
から
そのdiconを読み込ん(include)で実行したところ、testProjectに配置したオブジェ
クト
がDIされませんでした。
このJobDaoImplクラスをtestProjectからmainProjectに移してみたところ正常にDI
されました。
また、AutoNamingではなく、<component>で直接クラス指定した場合はDIされまし
た。
別プロジェクト間にインターフェースとImplしたクラスを配置した場合に
は、AutoNamingでは
DIされないような感じなのですが、diconの設定が悪いのかどうか判断ができない状
態です。
また環境的な問題で発生しているのでしょうか?
お手数ですがご教授のほどよろしくお願いします。
[Java環境]
mainProjectプロジェクト:jp.co.sample.dao配下に
・JobDaoインターフェースを配置
testProjectプロジェクト:jp.co.sample.dao配下に
・JobDaoImplクラスを配置(JobDaoインターフェースをImpl)
[diconの定義]
<component class
="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister">
<property name="autoNaming">
<component class
="org.seasar.framework.container.autoregister.DefaultAutoNaming"/>
</property>
<initMethod name="addClassPattern">
<arg>"jp.co.sample.dao"</arg>
<arg>".*Impl"</arg>
</initMethod>
</component>
<component class
="org.seasar.framework.container.autoregister.AspectAutoRegister">
<property name="interceptor">daoInterceptorChain</property>
<initMethod name="addClassPattern">
<arg>"jp.co.sample.dao"</arg>
<arg>".*Impl"</arg>
</initMethod>
</component>
- 以上 -
Seasar-user メーリングリストの案内