我总是面临一个问题,我无法真正想到封装许多DAO方法的服务对象.

我的意思是,对于我的servlet,有时使用单个DAO方法就足够了,例如addUser(User params).

更好的做法 – 使用服务对象封装DAO方法,并且只使用服务对象,即使它实际上意味着单一服务方法调用单一方法或将它们的使用混合在一起(一些来自服务对象的方法和一些来自servlet中的dao的方法上下文) – 这意味着我在控制器内部有自动连线的DAO和Service对象?

如果我在同一个地方开始使用DAO和Service对象,它会混合逻辑?

解决方法

我认为这取决于情况.如果没有DAO会导致混合您的业务逻辑和数据访问逻辑,则最好分开一个类.

但是,如果您的DAO是“虚拟”,并且只调用一个EntityManager方法,那么您可以直接在服务对象中使用它.这个想法是让课程有single responsibilities,容易扩展和测试.你不应该为它创建图层.

如果要保留可重用的服务层,我可能不会直接从控制器使用DAO.如果DAO没有意义,我宁愿在服务层中使用EntityManager(或任何持久化策略).

java – DAO和服务?的更多相关文章

  1. Android – 使用ORMLite DAO作为ContentProvider

    我旁边的同事真的非常想使用Ormlite,因为他不想自己编写任何映射.我知道atleap和Android-OrmliteContentProvider项目的存在.这些只为活动提供了一个光标,我的同事希望拥有模型列表或单个模型.这可以实现吗?和Contentprovider必须使用模型.但是,使用列表等仍然可以实现相同的功能吗?将事件传递给contentobservers等活动?

  2. java – 每个’容器’类一个DAO或每个表一个DAO?

    我有一个’容器’类,其中的字段包含在几个数据库表中,我使用DAO模式来访问数据.问题是,我应该为这个“容器”类创建一个DAO,还是每个表有一个DAO并组合它们的数据更好?

  3. java – 使用DAO和Web服务的数据库插入方法的Junit测试用例

    我正在实施一个基于Web服务的大学管理系统.该系统将某些课程添加到数据库中.下面是我正在使用的代码.Course.java然后另一个文件如下CourseDaoImpl.java第三个是如下的Web服务文件,它与前两个交互并将数据添加到数据库.CourseService.java查看我的代码清单,任何机构都可以建议我如何为我的add方法编写测试用例.我是JAVA的初学者,我从朋友那里学习了这个jav

  4. Java新手 – 什么是JPA和DAO?

    我是Java的新手,我正在尝试使用servlet创建一个Web项目.我想查询我的数据库,但我想我不了解JPA和DAO的一切.我被教导过这样做:>创建类com.package.entity.User(从我的数据库生成)>创建接口com.package.dao.UserDao>创建实现UserDao的类com.package.dao.jpa.JpaUserDao>使用publicList等

  5. java中的泛型DAO

    我正在尝试在java中开发通用DAO.我尝试了以下内容.这是实现通用DAO的好方法?

  6. java swing应用程序中的服务层

    我知道将@Transactional放在DAO上是一种糟糕的方式,但此时此刻我必须编写仅用于放置@Transactional的服务…谢谢.解决方法如果您的服务层重复dao,则根本不使用服务层.我在我的一些应用程序中犯了同样的错误,我想知道“为什么服务层看起来如此丑陋,并且是复制DAO”……

  7. java-ee – 应该为DAO和Service类使用哪个CDI范围

    )继承.例如UserServiceImpl:以这种方式使用CDIDAO和Service类都将具有Dependent范围,而不像spring那样它们将是singleton.因此,每个客户端都会注入新实例.我应该将DAO和Service类的范围更改为ApplicationScope吗?一个我很乐意提出任何建议.解决方法@ApplicationScoped与Serializable无关,它们总是存在,永远不会持久存在于磁盘上.由于HTTP会话对象的行为,@SessionConcped将需要序列化.我建议使用一个

  8. java – 使用JDBC连接到不同数据库的模式

    我正在编写一个应用程序,它必须可配置为根据客户端的想法连接到Oracle,sqlServer和MySQL.到目前为止,我一直在计划使用JDBC-ODBC桥,只使用不同的连接字符串连接到数据库.我被告知这不是很有效率.>是否存在连接多个数据库系统的模式或最佳实践?

  9. 春天 – JPA和DAO – 什么是标准方法?

    我正在使用JPA/Hibernate和Spring开发我的第一个应用程序.我在DAO课上的第一次尝试看起来像这样:我还发现了一些使用JpaDaoSupport和JpaTemplate的例子.你更喜欢哪种设计?我的例子有什么问题吗?

  10. java – DAO模式和开放原则

    感谢您到目前为止的回应.我有一个想法–你对使用命令/策略模式封装数据访问请求有什么意见?

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部