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

sur*_*khi 30 java service spring dao

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

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

Tom*_*icz 57

就Spring而言,没有区别.按照惯例,您可以使用@Repository和标记DAO类@Service.前者还做了一些持久层异常转换.

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

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


cha*_*nes 15

DAO - 数据访问对象,是处理与数据存储(典型数据库)连接的对象.您有查询,DAO为您的服务提供数据.

服务应包含您的所有逻辑.如果您有逻辑分区,理论上您可以在不影响它的情况下更改UI层或DAO层.


Ula*_*Ula 8

它提供了解耦的好处。当数据源发生变化时,您在服务中为所有服务用户(移动客户端、网络客户端)处理数据的方式不会发生变化。但是您需要改变从数据源中提取数据的方式。

在此处输入图片说明


tou*_*uti 6

DAO(数据访问对象)是一种设计模式,它包括为数据库上的每个表创建一个类,它提供了一种分离对象持久性和数据访问逻辑的技术