Java异常分析

来源:互联网 发布:中银淘宝联名卡 编辑:程序博客网 时间:2024/06/14 16:17

java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
今天在做一个s2sh小项目时,遇到了上述异常,

public class BasicDaoImpl<T> extends HibernateDaoSupport implements CommonDao<T> {    private Class clazz;    public BasicDaoImpl(){        ParameterizedType type = (ParameterizedType) this.getClass().getGenericSuperclass();        //获取泛型类型参数        clazz = (Class) type.getActualTypeArguments()[0];    }}

异常出现在了上述类的构造方法中,由于使用的是spring容器来产生该类,spring在反射创建该类时并没有获得泛型参数,出现该异常。
暂时解决方法:对于特定的bean继承BasicDao类,将继承后的类使用spring容器来产生,就可以避免该错误。

public class AdminDaoImpl extends BasicDaoImpl<Admin> {    @Override    public Admin getById(String id) {        Admin admin = getHibernateTemplate().get(Admin.class, id);        return admin;    }}
0 0
原创粉丝点击