[Seasar-user:20560] [SAStruts+S2Dao]Jar内のDao,Serviceの使用方法
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2011年 2月 6日 (日) 22:41:35 JST
はじめまして。magariと申します。
現在SAStruts+S2Daoにて開発を行っておりますが、
メイン(SAStruts+S2Dao)となるプロジェクトが複数あり、
その中で共通のDBへのアクセスおよび処理をjarファイルとして
共有できるようにしたいのですがうまくきません。
過去ログよりいろいろ試してみましたが
まだ解決にいたっておりません。
ご教授ねがいますでしょうか。
構成は以下です。
・メインとなるプロジェクト(hoge-main)
SAStruts+S2Daoプロジェクトとして作成
→簡単な画面表示および、自プロジェクト内のDaoを使用して
DBにアクセスできることを確認
・共通処理のプロジェクト(hoge-common)
ルートパッケージ hoge.common
SAStruts+S2Daoにて作成し、serviceクラス経由で
Daoを使用してDBへアクセスできることを確認
作成したクラスは
hoge.common.dao.TestDao
hoge.common.entity.Test
hoge.common.service.TestDaoService
・やりたいこと
hoge-common の service 配下のクラスをメインの任意の
クラス(とりあえずActionクラス)にDIして、そのservice経由で
DBへアクセスしたい。
・試したこと
※見当違いのことをやっているかもしれません
hoge-commonをjarでエクスポートし(service,dao,entityのみ)、
作成したjarをhoge-mainのlib配下へ配置、Eclipseのビルドパスで該当jarを追加。
hoge-mainのconvention.diconに以下を追加
<initMethod name="addRootPackageName">
<arg>"hoge.common"</arg>
</initMethod>
その他の hoge-main の dicon ファイルは変更していません。
hoge-mainのActionクラスに以下を追加
@Resource
public TestDaoService testDaoService;
これでtomcat起動してブラウザでアクセスすると
java.lang.ClassNotFoundException: hoge.common.service.TestDaoService
が発生
hoge-common のデータソース定義などもどこかに
配置する必要があるかと思いますが、どうやるべきか
見当がつきません。
使用しているjarは以下です。
s2-dao-1.0.51.jar
s2-dao-tiger-1.0.51.jar
s2-framework-2.4.43.jar
sa-struts-1.0.4-sp8.jar
struts-1.2.9.jar
よろしくお願いいたします。
Seasar-user メーリングリストの案内