如果我没理解错的话,楼上大哥的意思是把一个大的DAO类做基础的DAO类,然后根据不同的业务模块做新的DAO类,并继承基础DAO类来达到复用.
我目前的复用比较有意思,我把基础DAO类的一些可变参数,如:HQL语句等设置为变量,然后延迟到actoin中对DAO方法调用的时候,通过DI注入不同的HQL语句.
如此,比方说我做一个查询的action,反正这类action的功能都是把查询出来的LIST放到httpsession里,然后在JSP上迭代显示,对两个不同实体进行查询的action,往往只有HQL语句不同而已,于是,我只写一个基础的查询action,这个action具体查询出哪些内容是由DI注入的HQL来决定的,也就是说,我注入不同的HQL,这个action就成了不同功能的查询action了,然后我在spring配置文件中,声明多个action名,但实际type都指向的是这一个基础的查询action类,只是注入的HQL不同.这样,一个action不就能完成所有的集体查询功能了吗?
不知道我这个做法是对还是错.请指教.
还有,我们一直在讨论的都是DAO层,那么我要怎么做,才能分离出我的服务层呢?