Spring框架中的DAO和Service层是什么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring框架中的DAO和Service层是什么?相关的知识,希望对你有一定的参考价值。
Spring框架中的DAO和Service层是什么?
我正在寻找理论上的答案。
就Spring而言,没有区别。按照惯例,您可以使用@Repository
标记DAO类,使用@Service
标记服务。前者还做了一些持久层异常转换。
因为理论上要问:DAO应该执行原始数据库操作并将它们转换为更高级别的构造(对象,集合)。服务应调用DAO并执行业务操作。通常,在服务层上执行事务划分以跨越多个DAO调用。
最后,DAO应该从持久性细节中抽象业务逻辑,理想情况下允许在没有业务逻辑(服务)更改的情况下切换持久层。由于泄漏持久性提供程序的抽象(例如延迟加载),这几乎不可能实现。
DAO - 数据访问对象,是处理与数据存储(通常是数据库)的连接的对象。您在这里有查询,DATA为您的服务提供数据。
服务应包含您的所有逻辑。如果你有逻辑分离,理论上你可以改变你的UI层或DAO层,而不会影响它。
DAO(数据访问对象)是一种设计模式,它包括为数据库上的每个表创建一个类,它提供了一种分离对象持久性和数据访问逻辑的技术
它提供了脱钩的好处。当数据源发生变化时,您在服务中为所有服务用户(移动客户端,Web客户端)处理数据的方式不会发生变化。但是您需要更改从数据源中提取数据的方式。
以上是关于Spring框架中的DAO和Service层是什么?的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot框架中的DAO层Entity层Service层Controller层
深入理解--SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用