[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 メーリングリストの案内