J_web 2012-09-17 17:13
浏览 201
已采纳

ssh封装了基类后出现空指针异常

 

<bean id="baseDao" class="com.iwiz.dao.impl.BaseDaoImpl">
    <property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="noteDao" class="com.iwiz.dao.impl.NoteDaoImpl" parent="baseDao"></bean>

 <bean id="baseService" class="com.iwiz.service.impl.BaseServiceImpl">

   <property name="baseDao" ref="baseDao"></property>
</bean>
<bean id="noteService" class="com.iwiz.service.impl.NoteServiceImpl" parent="baseService">
    <property name="noteDao" ref="noteDao"></property>
</bean>

 public class BaseDaoImpl<T, PK extends Serializable> implements BaseDao<T, PK> {

    private Class<T> entityClass;

    public BaseDaoImpl() {
    this.entityClass = null;
    Class<T> c = (Class<T>) getClass();
    Type type = c.getGenericSuperclass();
    if(type instanceof ParameterizedType) {
        Type[] parameterizedType = ((ParameterizedType)type).getActualTypeArguments();
        this.entityClass = (Class<T>) parameterizedType[0];
    }
    }
    
    public T findById(PK id) {
    return (T) getSession().load(entityClass, id);
    }
}

 public class NoteServiceImpl extends BaseServiceImpl<Note, String> implements NoteService {

    private NoteDao noteDao;

    public void setBaseDao(NoteDao noteDao) {
    super.setBaseDao(noteDao);
    }

    public void setNoteDao(NoteDao noteDao) {
    this.noteDao = noteDao;
    }
}

 tomcat在启动的时候并没有执行红色字体的代码,导致调用findById时entityClass为空值,但是BaseDaoImpl的构造方法已经把所需要的类都通过反射得到了呀,怎么回事呀?怎样才能让tomcat启动就能执行红色字体的代码?我漏了什么配置了还是...?

  • 写回答

1条回答 默认 最新

  • jinnianshilongnian 2012-09-17 17:46
    关注

    bean id="noteService" class="com.iwiz.service.impl.NoteServiceImpl" parent="baseService">



    改成

    bean id="noteService" class="com.iwiz.service.impl.NoteServiceImpl" parent="baseService">



    2、
    private NoteDao noteDao;

    public void setBaseDao(NoteDao noteDao) {
    super.setBaseDao(noteDao);
    }

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面
  • ¥15 算法题:数的划分,用记忆化DFS做WA求调
  • ¥15 chatglm-6b应用到django项目中,模型加载失败
  • ¥15 CreateBitmapFromWicBitmap内存释放问题。
  • ¥30 win c++ socket
  • ¥15 C# datagridview 栏位进度
  • ¥15 vue3页面el-table页面数据过多
  • ¥100 vue3中融入gRPC-web
  • ¥15 kali环境运行volatility分析android内存文件,缺profile