BaseDaoImpl<T> extends HibernateDaoSupport implements BaseDao<T>中获得T的类型代码

private Class clazz;//用于接受运行是的泛型
	public  BaseDaoImpl() {
		//获得当前类型的父类  (带有泛型类型的父类)
//		这个类在运行的时候实际上是被DaoImpl所继承的   也就是说 这个方法所得到的父类  就是BaseDaoImpl
//		得到的实际上是ParameterizedType   即参数化的类型    也就是说是带有泛型类型的类
		ParameterizedType ptClass = (ParameterizedType) this.getClass().getGenericSuperclass();
//		获得运行期的泛型类型    一个类可以申明多个泛型    所以返回的是一个数组
		clazz = (Class) ptClass.getActualTypeArguments()[0];
		
	}

猜你喜欢

转载自blog.csdn.net/qq_41009846/article/details/82854723