java - Spring框架中的DAO和Service层到底是什么?

标签 java spring service dao

Spring框架中的DAO和Service层到底是什么?

我正在寻找理论上的答案。

最佳答案

就 Spring 而言,没有区别。按照惯例,您可以用 @Repository 标记 DAO 类,用 @Service 标记服务。前者还做了一些持久层异常翻译。

既然您在理论上问:DAO 应该执行原始数据库操作并将它们转换为一些更高级别的构造(对象、集合)。服务应该调用 DAO 并执行业务操作。通常,事务划分是在服务层上执行的,以跨越多个 DAO 调用。

最后,DAO 应该从持久性细节中抽象出业务逻辑,理想情况下允许在不更改业务逻辑(服务)的情况下切换持久层。由于持久性提供程序的泄漏抽象(例如延迟加载),这几乎是不可能的。

关于java - Spring框架中的DAO和Service层到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10025028/

相关文章:

java - 跳过 66 帧!应用程序可能在其主线程上做了太多工作

java - 如何向已排序的链表添加元素?

java - 我可以在 Spring bean 定义中使用相对路径吗?

java - android studio java web服务每45秒控制一次

android - 服务生命周期

android 在屏幕关闭时保持 cpu 全速运行

java - ThreadPoolExecutor 同步

java - 无法从一个 .java 中运行另一个 .java 中的公共(public)类

oracle - 为 Oracle VPD 连接配置 Spring 数据源

MySQL innodb 过程在事务中仅事件一次(调用多次)