[Seasar-user:6958] Re: [Dolteng]S2Container をmainクラスから実行したいのですが
hiroshi yamamoto
[E-MAIL ADDRESS DELETED]
2007年 3月 29日 (木) 14:13:52 JST
hirossyです。
ご返信ありがとうございます。
public static void main(String[] args) {
SingletonS2ContainerFactory.init();
S2Container s2 = S2ContainerFactory.create("app.dicon");
HogeDao dao =
(HogeDao)s2.getComponent(HogeDao.class);
dao.selectAll();
・・・
ご指示通りの方法でS2Containerを作成することが出来ました!
ありがとうございます。
で、すみませんが、引き続き以下の内容についてもご教授いただけますでしょうか。
上記クラスを実行した際に、selectAll()メソッドで例外が発生します。
S2DaoTestCaseを使用したテストクラスを作成してDaoのテストも行っておりますが、こちらでも同様の現象が発生しており、原因が特定できておりません。
テストクラスのほうでは、
エクセルデータの投入(readXlsAllReplaceDb(""))はうまく行くのに、肝心のDaoのテスト(insert()やselect()など)の部分で同様の例外が発生します。
データベースはH2です。
お手数ですが、解決方法をご教授下さい。宜しくお願いします。
以下、mainクラスを実行した際の出力内容です。
DEBUG 2007-03-29 13:55:08,828 [main] BEGIN
jp.co.xxx.calllistManager.dao.Daoインターフェイス名#selectAll()
DEBUG 2007-03-29 13:55:08,984 [main] 物理的なコネクションを取得しました
DEBUG 2007-03-29 13:55:08,984 [main] 論理的なコネクションを取得しました
Exception in thread "main" DEBUG 2007-03-29 13:55:09,015 [main] 論理的なコネクションを閉じました
DEBUG 2007-03-29 13:55:09,015 [main] END
jp.co.xxx.calllistManager.dao.Daoインターフェイス名#selectAll()
Throwable:java.lang.NullPointerException: beanClass
java.lang.NullPointerException: beanClass
at org.seasar.dao.impl.BeanMetaDataFactoryImpl.createBeanMetaData(BeanMetaDataFactoryImpl.java:74)
at org.seasar.dao.impl.BeanMetaDataFactoryImpl.createBeanMetaData(BeanMetaDataFactoryImpl.java:68)
at org.seasar.dao.impl.DaoMetaDataImpl.initialize(DaoMetaDataImpl.java:142)
at org.seasar.dao.impl.DaoMetaDataFactoryImpl.createDaoMetaData(DaoMetaDataFactoryImpl.java:120)
at org.seasar.dao.impl.DaoMetaDataFactoryImpl.getDaoMetaData(DaoMetaDataFactoryImpl.java:102)
at org.seasar.dao.interceptors.S2DaoInterceptor.invoke(S2DaoInterceptor.java:51)
at org.seasar.dao.pager.PagerS2DaoInterceptorWrapper.invoke(PagerS2DaoInterceptorWrapper.java:64)
at jp.co.xxx.calllistManager.dao.Daoインターフェイス名$$EnhancedByS2AOP$$e6ff0d$$MethodInvocation$$selectAll5.proceed(MethodInvocationClassGenerator.java)
at org.seasar.framework.aop.interceptors.TraceInterceptor.invoke(TraceInterceptor.java:59)
at jp.co.xxx.calllistManager.dao.Daoインターフェイス名$$EnhancedByS2AOP$$e6ff0d$$MethodInvocation$$selectAll5.proceed(MethodInvocationClassGenerator.java)
at jp.co.xxx.calllistManager.dao.Daoインターフェイス名$$EnhancedByS2AOP$$e6ff0d.selectAll(Daoインターフェイス名$$EnhancedByS2AOP$$e6ff0d.java)
at jp.co.xxx.calllistManager.dao.メインクラス名.main(メインクラス名.java:39)
お手数ですが宜しくお願いいたします。
07/03/29 に Yasuo Higa<[E-MAIL ADDRESS DELETED]> さんは書きました:
> ひがです。
>
> > hirossyと申します。
> >
> > Dolteng(S2Dao only)で作成したプロジェクトにて、
> > daoインターフェイスを作成し、次のmainクラスから実行させようとしました。
> >
> > public static void main(String[] args) {
> ここにSingletonS2ContainerFactory.init();
> を入れてみてください。
> > S2Container s2 = S2ContainerFactory.create("app.dicon");
> > HogeDao dao =
> > (HogeDao)s2.getComponent(HogeDao.class);
> > dao.selectAll();
> >
>
> よろしくお願いします。
> --------------------------------------------
> Yasuo Higa
> INFORMATION SERVICES INTERNATIONAL-DENTSU,LTD.
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
--
-----------------------------------------------------------
[E-MAIL ADDRESS DELETED] (Hiroshi Yamamoto)
http://d.hatena.ne.jp/hirossy1977/
-----------------------------------------------------------
Seasar-user メーリングリストの案内