ParameterizedType--参数类型

任何对象调用A类时,自动获取该对象的类的类类型, 类的对象名通过this.type.getName()获得

以下代码比较经典:

public class BaseDao<T> extends HibernateTemplate implements Dao<T>{

private Class type;

@Autowired
public BaseDao(SessionFactory sessionFactory){
super(sessionFactory);

ParameterizedType parameterizedType = (ParameterizedType)this.getClass().getGenericSuperclass();
this.type = (Class)parameterizedType.getActualTypeArguments()[0]; //获得当前表对应类的类类型Class, 类对象名就是this.type.getName()
}

@Override
public List getAll() {
return find(new StringBuffer(" from ").append(this.type.getName()).toString());
}

posted @ 2016-07-04 00:08  乱世_独自美  阅读(481)  评论(0)    收藏  举报