[seasar-dev:855] Interceptor のDAOを取得問題がある

解金松 [E-MAIL ADDRESS DELETED]
2008年 7月 9日 (水) 14:01:14 JST


解です
 いつもお世話になております。
 public class LoginAuthInterceptor extends AbstractInterceptor {

   private MessageDao messageDao;

// setter省略

public Object invoke(MethodInvocation invocation) throws Throwable {
// 以下,省略

}

 以上方法のような利用すると、java.lang.NullPointerExceptionを出す。

public class LoginAuthInterceptor extends AbstractInterceptor {

   private MessageDao dao;

   public void setDao(MessageDao dao) {
  this.dao = dao;
 }
 public MessageDao getDao() {
  return dao;
 }

public Object invoke(MethodInvocation invocation) throws Throwable {
             ...

Message[]   mes = dao.getAllMessage();

 ...
}

 app_aop.diconで宣言しました。
<components namespace="app_aop">
 <component name="loginAuthInterceptor"
class="com.teeda.interceptor.LoginAuthInterceptor" />
 </components>
 customizer.diconで宣言しました。
  <component name="authAspectCustomizer"
class="org.seasar.framework.container.customizer.AspectCustomizer">
   <initMethod name="addInterceptorName">
                      <arg>"app_aop.loginAuthInterceptor"</arg>
   </initMethod>
                 <property name="pointcut">"prerender"</property>
            </component>
 //messageDao.java

 package com.teeda.dao;

 import com.teeda.entity.Message;

 public interface MessageDao {

       public static final Class BEAN = Message.class;

      public static final String ARGS_findByMessageId = "id";

       public Message[] findByMessageId(String id);
       public Message[] getAllMessage();
  }
  env.txtで
 環境をitに設定する。

 以上のような利用する場合、LoginAuthInterceptor のプロパティDao取得しませんでした。
だから、PageClassにプロパティDaoとgetter/ setter メッソードを利用して

 Daoを取得できる。 私は使用の方法は間違いがあるですが。教えてください。
 以上 よろしくお願いします。
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-dev/attachments/20080709/d17704c0/attachment.html>


Seasar-dev メーリングリストの案内