读书人

Generic Data Access Objects -范型D

发布时间: 2012-10-30 16:13:36 作者: rapoo

Generic Data Access Objects -范型DAO类设计模式
Generic Data Access Objects

说明 :由于范型的符号经过在线编辑器发布后,被过滤掉了,所以上面修改后的几个符号,都是我在中文状态下输入的。

<o:p></o:p>

public abstract class GenericDAOHibernate 〈T,ID extends Serializable, DAOImpl extends IGenericDAO〈T,ID〉〉 implements IGenericDAO〈T,ID〉 { private Class persistentClass; protected Session session; public GenericDAOHibernate() { this.persistentClass = (Class) ((ParameterizedType) getClass() .getGenericSuperclass()).getActualTypeArguments()[0]; }

这个用的getGenericSuperclass()).getActualTypeArguments()[0]; 方法取得entity class
为什么不用getGenericInterfaces。getActualTypeArguments来取得呢?




另外,我想问一下,在spring的配置种,userdao这个bean 该如何配置才可以将这几个参数(〈User,Integer,IUserDAO〉)传给GenericDAOHibernate ?

我也有这个问题。 是不是Spring应该不支持这种注入??

因为我想

public class BussnessServiceImpl implement BussnessService{

private HibernateEntityDao<User> userDao = null;

private HibernateEntityDao<Category> categoryDao = null;


..................

// getter setter


}this.persistentClass = (Class)((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
这一句就是经典的取泛型的类元了。
因为Java使用擦拭方法处理泛型,才要这么绕个弯拿到。
public abstract class GenericDAOHibernate 〈T,ID extends Serializable, DAOImpl extends IGenericDAO〈T,ID〉〉
谁能帮忙解释一下
DAOImpl extends IGenericDAO〈T,ID〉

在这里的作用是什么?实在看不懂?public abstract class GenericDAOHibernate 〈T,ID extends Serializable, DAOImpl extends IGenericDAO〈T,ID〉〉
谁能帮忙解释一下
DAOImpl extends IGenericDAO〈T,ID〉

在这里的作用是什么?实在看不懂?
用来限制DAOImpl类 , DAOImpl 必须实现IGenericDAO接口 22 楼 rainlife 2007-04-20 tsingn 写道
另外,我想问一下,在spring的配置种,userdao这个bean 该如何配置才可以将这几个参数(〈User,Integer,IUserDAO〉)传给GenericDAOHibernate ?
在使用Spring注入的时候,和泛型没有关系的,该怎么注入就怎么注入,泛型只是用来限制类的,并不是这个类属性。 23 楼 hbcui1984 2007-04-21 不错,正在学习中 24 楼 chenlb 2007-04-21 好,这样就不用为每一个读写Enitiy写一个DAO类

25 楼 hkongm 2007-04-25 新手透透气,好帖,我收藏之 26 楼 fightplane 2007-04-29 我感觉一些问题如果可以通过google之类的搜索引擎找到,就不要在这里提问了。有时候太容易得到答案也未必是一件好事情。 27 楼 hama 2007-05-06 spirng side来的吧 28 楼 不要脸2代 2007-05-08 看起来不错,还可以实践一下
建议大家多发点新手帖吧,容易学习一些,谢谢了 29 楼 sgzlove2007 2007-05-09 老牛,老鸟们多发新手帖啊 渴望:小菜鸟-》老菜鸟-》小牛-》老牛 的晋级啊
这个论坛真是太好了 真遗憾以前在大学的时候怎么没发现 那时候想学不知道学什么 不知道怎么学!

读书人网 >软件开发

热点推荐