首页 > 解决方案 > Spring Boot 应用中服务层有什么用?

问题描述

我是 Spring Boot 的新手,我正在创建一个没有 UI 的 RESTful API。

我在想我应该使用业务服务并从那里调用存储库还是直接从我的 REST 控制器调用存储库?

标签: springspring-bootmodel-view-controller

解决方案


服务层并不是 Spring Boot 独有的概念。这是一个软件架构术语,经常被称为模式。简单的应用程序可能会跳过服务层。实际上,没有什么能阻止您从控制器层调用存储库方法。

但是,我强烈建议使用服务层,因为它主要用于定义应用程序边界。服务层职责包括(但不限于):

  • 封装业务逻辑实现;
  • 集中数据访问;
  • 定义事务开始/结束的位置。

引用Martin Fowler 的企业应用架构模式目录中的服务层模式

服务层从连接客户端层的角度定义了应用程序的边界及其可用操作集。它封装了应用程序的业务逻辑,控制事务并在其操作的实现中协调响应。


推荐阅读