[seasar-dev:854] InterceptorのDao取得

解金松 [E-MAIL ADDRESS DELETED]
2008年 7月 9日 (水) 11:57:33 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();
   }
 以上のような利用する場合、LoginAuthInterceptor のプロパティDao取得しませんでした。
だから、PageClassにプロパティDaoとgetter/ setter メッソードを利用して

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


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