【发布时间】:2012-04-03 06:02:52
【问题描述】:
我是一名 Java Web 应用程序开发人员。
我发现我对服务器端的层感到很困惑。
我不是指 MVC(模型/视图/控制),而是 dao/服务层。
道层用于连接数据库。
为什么是服务层?
由于我们现在使用的是spring mvc框架,所以我以前在控件中处理登录,包括调用dao来获取数据。服务层有必要吗?
【问题讨论】:
标签: java jakarta-ee spring-mvc
我是一名 Java Web 应用程序开发人员。
我发现我对服务器端的层感到很困惑。
我不是指 MVC(模型/视图/控制),而是 dao/服务层。
道层用于连接数据库。
为什么是服务层?
由于我们现在使用的是spring mvc框架,所以我以前在控件中处理登录,包括调用dao来获取数据。服务层有必要吗?
【问题讨论】:
标签: java jakarta-ee spring-mvc
服务层有几个原因,但对我来说有几个主要优点:
服务层是否必要?当然不是——但技术上 no 层是必要的;一切都可以包含在一个 JSP 页面中。这是一个粒度、控制和关注点分离的问题。
【讨论】:
服务层了解事务。它们映射到用例和工作单元。即使您的 Web UI 消失,它们也有机会发挥作用,因为它们是面向服务架构的基础。
我会说,我唯一会省去层的情况是对数据进行只读访问。在这种情况下,我更有可能处置 DAO 而不是服务。
【讨论】:
DAO 层 - 仅处理数据库内容、基本 CRUD 和其他一些查找查询,它处理数据库事务
服务层 - 实际上依赖于 DAO 层来执行业务特定的逻辑,它处理业务事务
区分它们的优点是您可以将服务层插入任何其他前端,如果原始存储发生变化,您也有机会插入/更改 DAO 层
另见
【讨论】:
服务层通常用作集成层。它可以防止与 DAO 层无关的功能“混淆”。例如:
您的服务层也是您实现系统的各种“视图”的地方,从较低层混合和匹配以创建新功能。
【讨论】: