zoukankan      html  css  js  c++  java
  • 获取泛型对象


    import java.io.Serializable;
    import java.lang.reflect.ParameterizedType;
    import java.lang.reflect.Type;
    import java.util.List;

    import javax.annotation.Resource;

    import org.hibernate.Query;
    import org.hibernate.SessionFactory;
    import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
    import org.springframework.stereotype.Repository;

    import com.fengyi.dao.IBaseDao;
    import com.fengyi.util.PageUtil;

    @Repository(value="baseDao")
    @SuppressWarnings("unchecked")
    public class BaseDao<T> extends HibernateDaoSupport implements IBaseDao<T> {

     private Class<T> clzz;

     @Resource(name = "sessionFactory")
     public void setSuperSessionFactory(SessionFactory sessionFactory) {
      super.setSessionFactory(sessionFactory);
     }

     // 獲取泛型的Class對象
     private Class<T> getClzz() {
      clzz = (Class<T>) getClass(); 
      while (clzz != null && clzz != Object.class) {
       Type t = clzz.getGenericSuperclass();
       if (t instanceof ParameterizedType) {
        Type[] args = ((ParameterizedType) t).getActualTypeArguments();
        if (args[0] instanceof Class) {
         this.clzz = (Class<T>) args[0];
         break;
        }
       }
       clzz = (Class<T>) clzz.getSuperclass();
      }
      return clzz;
     }

    }
     ..........

    每一天的成长!
  • 相关阅读:
    桂林印象
    快变
    近期的事
    *C#中使用ref和out一点认识!*
    *在框架集页面放置TreeView控件时页面跳转的问题解决*
    *无法找到脚本库的问题*
    *Ajax.Net快速入门*
    *网页过期*
    *Prototype开发笔记*
    *正则表达式*
  • 原文地址:https://www.cnblogs.com/javafengyi/p/2882251.html
Copyright © 2011-2022 走看看