spring - Spring Boot 应用中服务层有什么用?
问题描述
我是 Spring Boot 的新手,我正在创建一个没有 UI 的 RESTful API。
我在想我应该使用业务服务并从那里调用存储库还是直接从我的 REST 控制器调用存储库?
解决方案
服务层并不是 Spring Boot 独有的概念。这是一个软件架构术语,经常被称为模式。简单的应用程序可能会跳过服务层。实际上,没有什么能阻止您从控制器层调用存储库方法。
但是,我强烈建议使用服务层,因为它主要用于定义应用程序边界。服务层职责包括(但不限于):
- 封装业务逻辑实现;
- 集中数据访问;
- 定义事务开始/结束的位置。
引用Martin Fowler 的企业应用架构模式目录中的服务层模式:
服务层从连接客户端层的角度定义了应用程序的边界及其可用操作集。它封装了应用程序的业务逻辑,控制事务并在其操作的实现中协调响应。
推荐阅读
- r - 如何在 sparklyr 中操作日期?
- bootstrap-4 - 引导表与背景颜色混淆
- python - 为什么使用张量流 keras 的多变量线性回归会产生 NaN 损失
- ios - 实现分页后,我在滚动 tableview 时遇到 UIImage 问题
- python - 如何解决由于 python 问题而导致“apt-get install”不起作用的问题
- ruby-on-rails - Rails has_man 通过关联预期的行为?
- powershell - 带有路径和哈希的 Powershell 输出
- html - 防止点击后按钮颜色变浅
- node.js - NodeJS - 在函数中调用 Fetch 会挂起控制台
- javascript - 无法理解为什么 javascript 会跳过循环中的迭代器数量