尽管seam文档和其它相关的资料中,都声称entityManager的抽象程度已经很高了,没有使用DAO模式的需要,但是从这次的项目实践来看,将 部分的数据访问放到DAO里是很有必要的。首先,使用DAO有易于做单测。如果不使用DAO,需要访问数据库的Action就注入一个 entityManager直接访问数据库,这样写起来方便,但是在单测这个action的时候,要么得做一个假的entityManager,要么得真 的创建一个entityManager并准备好数据。这些都比做一个假的DAO来得要复杂。其次,如果每个ACTION里都自己拼接sql来查询数据,这 些查询SQL将会分散到各个ACTION中,难以管理和维护。再次,DAO更易于重用。很多的时候,一个查询语句在很多地方都初用到,如果每个地方都写一 遍自己的SQL,显然是不好的,放到一个单独的组件里做成DAO,将会更加易于重用。任何需要的ACTION都只要注入这个DAO就可以用了。
那么如何实现DAO才好呢?为了尽量让这个被经常调用到的组件轻量化,我觉得使用的statelss scope的普通java bean 就是行了,为了便于测试使用dao的其它组件,为DAO设计成接口与实现分离会更加地好。
分享到:
相关推荐
seam框架需要的所有jar包,支持seam ui组件
seam_carving代码实现 图像缩放
seam in action seam in action seam in action seam in action seam in action seam in action seam in action
Seam 是一种业级 企 Java 的应规用程序框架。它的灵感源自下列原 : 只有一种“工具” Seam为 应 业务业业 义 种统 组 你的 用程序中所有的 定 了一 一的 件模型。 Seam组件可能是 态义 关关 态 有状 的,包含与几...
JBOSS_SEAM配置
seam级联菜单例子
seam资料seam资料seam资料seam资料seam资料seam资料seam资料seam资料
JBoss Seam JBoss Seam JBoss Seam
seam介绍
seam carving的相关代码实现
seam下一代web开发框架
seam 中文文档 pdf 格式 JSF+EJB3.0快速开发框架Seam的中文版向导。。。
Jboss Seam in ActionJboss Seam in ActionJboss Seam in ActionJboss Seam in ActionJboss Seam in Action
SeamCarving的C++实现代码,使用opencv库。包含完整项目工程及测试图像,可直接使用
JBOSS SEAM组件中文手册 Seam_2.0_Reference_zh_CN
seam in action 中文 english seam提供了快速开发 好长。netjava 新手学习的利器 中英文各一本,英文的好像不是很好
seam中的注解总结,包括三种JPA和seam自身的标签
Seam 中文开发指南 seam中文文档
Seam全称是Jboss Seam,是一个Java EE 5框架。它通过把JSF与EJB3.0组件合并在一起,以及利用JDK5.0的Annotation技术,从而为开发基于Web的企业应用程序提供一个最新的模式。
Seam - 语境相关的组件 ,学习seam的好资料.