springMVC dao层中通过反射获取entityClass
2016-05-06 10:34
288 查看
public class BaseDaoImpl<T, PK extends java.io.Serializable> implements BaseDao<T, Serializable> { // 泛型反射类 private Class<T> entityClass; /** * getClass().getGenericSuperclass()返回表示此 Class 所表示的实体 (类、接口、基本类型或 void)的直接超类的 Type然后将其转换ParameterizedType getActualTypeArguments()返回表示此类型实际类型参数的 Type 对象的数组。 [0]就是这个数组中第一个了。。 简而言之就是通过反射获取子类确定的泛型类 * */ public BaseDaoImpl() { Type genType = getClass().getGenericSuperclass(); Type[] params = ((ParameterizedType) genType).getActualTypeArguments(); entityClass = (Class) params[0]; } /* * 根据id获取PO */ @Override @SuppressWarnings("unchecked") public T get(Serializable id) { return (T) getSession().get(this.entityClass, id); }
相关文章推荐
- java I/O(一)——基本操作&&java.util.zip压缩
- Java虚拟机参数设置问题
- Java Future和Callable介绍
- Java多线程之wait(),notify(),notifyAll()
- JAVA来读取大文本文件
- Java问题汇总
- Springlake-01 介绍&功能&安装
- Java web 开发环境配置
- Eclipse默认配色的恢复方法
- Spring4 整合 Hibernate3 基本使用(通过注入 SessionFactory)
- 69道Spring面试题和答案
- 69道Spring面试题和答案
- Java 中 List 与 HashSet 的对比
- java.lang.IllegalStateException: commit already called
- Eclipse开发Web常见异常
- Java socket通信
- 解决Eclipse解析不了std::string的方法
- struts2 标签变形和 样式class无效 问题解决方法
- springmvc文件上传下载
- java底层知识(2)--内存知识