JAVA

人生若只如初见,何事秋风悲画扇。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  50 随笔 :: 25 文章 :: 157 评论 :: 0 Trackbacks

进新公司快二个星期了,边看边做现在的项目.一头雾水的时候多亏有同事(BOSS)的帮忙.下面是我对系统中DTO,DAO的操作的一些肤浅理解(不知各位在四层化结构的处理中也是如此,也应该一般化吧),恳请各位提出指正.谢谢!

业务逻辑处理放在service中,与DB的映射放到对应的entity实体类中,前台DB显示放到DTO中,对DB的操作放到DAO中.在此中可能要用彼此之间的相关转换,比如在DAO中通过相关操作DB中取得的实体可能要转成对应的DTO以便在前台显示.

以前台到DB中取一组相关数据getNewsList(String args[])为例(Struts+Hibernate+Spring):

1 :  前台触发一请求(getNewsList)事件,通过相关配置映射将其转发到对应的Action中(Struts).

2 :  在此Action中找到与此功能模块对应的相关Service类,在service类中应有实现此功能的方(  当然也可能就是getNewsList(String args[])  ).
每个模块功能都可能有对应着不同的service.这时每个模块的service可放到各自的XML配置文件中,在得到我们所需service时可能用到如org.springframework.aop.framework.ProxyFactoryBean(Spring)之类的方法.(these contents update on 2006/04/07)

3 :  service中的此方法调用DAO中对应能实现此功能的方法来直接对DB进行操作,可能在名类似于HibernateNewsDAO(Hibernate)的实例中.通过(Hibernate)对DB的相关持久化操作也就从DB中得到了我们想要的结果(entity).

4 :  将结果转换成DTO以便在前台显示,
我想这样做的目的应该是为了避免报表查询数据占用缓存,就将查询结果实例化(将从DB中查询出来的数据包装到JAVA对象中)..(these contents update on 2006/04/07)


5 :  在service中将取回的结果(以DTO形式表现),经过一系统逻辑处理(也可以放到Action中处理),再将此结果返回到显示页面.


希望能够得到诸位的指点... ...

posted on 2006-03-09 11:51 Jkallen 阅读(3985) 评论(0)  编辑  收藏 所属分类: JEE学习其它开源

只有注册用户登录后才能发表评论。


网站导航: