- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在类里面,我们现在正在学习如何构建 Spring 应用程序,尽管 Spring 没有直接参与,但我们学习了如何为 DAO 和服务层对象制作接口(interface)。
如果我错了,请纠正我:DAO 层非常抽象:它只包含 CRUD 操作,并进一步用于读取数据。(即:获取所有对象、获取特定对象等)
服务层:包含创建事物和删除事物的服务,这是业务逻辑应该在的地方。
现在所有这些在服务层都有意义了;除了“更新”对象。您是否只是放置了一个“更新”功能,将对象保存在数据库中?还是您还需要在那里定义逻辑?这就是我的困惑所在,我的理解是 Spring 中的对象只是 POJO 的。那么谁来验证数据呢?
假设我有一个对象“ child ”它有:Name
、SurName
、Gender
、Photo
、Birthdate
字段。我将如何命名服务?或者你会让 Controller 负责验证,这对我来说似乎不正确。另一方面,将需要调用的每个 setter 委托(delegate)给服务层似乎也不正确。
所以基本上:帮助我定义如何通过服务层保存对象。
最佳答案
通常,Spring 服务是事务性的。事物进入特定的服务方法,因为它们应该在同一个事务中组合在一起。如果你想从数据库中检索一个对象,旋转它,并保存新版本,检索和保存应该在同一个服务方法中。所以你的服务方式是根据你需要应用程序为用户做什么来确定的。
我试图限制 Controller 做与验证 http 参数相关的工作,决定使用什么参数调用什么服务方法,在 httpsession 或请求中放入什么,重定向或转发到什么 View ,或类似的 web 相关的东西.
就验证而言:验证 Controller 中的输入参数是一件好事,可以确保没有人可以通过虚假输入破坏您的应用程序。 Controller 中的验证往往是关于确保输入在语法上是正确的(包括检测注入(inject)攻击),而服务级别验证是关于确保数据库中的事物状态符合您的预期。
Controller 包含网络框架基础设施代码,服务包含应用程序逻辑代码。
关于java - 服务层和 Controller : who takes care of what?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3885675/
这是一个糟糕的模式。 copy-and-swap 更好。 foo & operator = ( foo const & other ) { static_assert ( noexcept(
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
关于 PyCharm 和警告的帖子和问题太多了,但对于 PyCharm 何时真正告诉您一些有用的东西以及何时没有,尤其是关于“预期类型”警告,似乎几乎没有达成共识。我发现,发布到 IntelliJ/P
我想我理解 Fischer & Paterson 算法与此处显示的“无关”模式匹配: http://u.cs.biu.ac.il/~amir/AlgII/fp-set1.html 但是,据我了解,可以
所以我遇到了 Exception in thread "Thread-0" java.lang.IllegalArgumentException: Unknown type: null at
我有一个不寻常的排序案例,我的谷歌搜索几乎没有出现。以下是参数: 1)随机访问容器。 (C++ vector ) 2) 一般小 vector 尺寸(少于32个对象) 3) 许多对象彼此之间具有“无关”
这个问题在这里已经有了答案: How can I assign a "don't care" value to an output in a combinational module in Veril
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我了解各种可能的移动开发平台。不过,我很想知道您能告诉我有关 Qualcomm BREW 的什么信息吗?为什么现在还有人关心它?我的意思是,有了 J2ME 的可移植性(中高级设备中对 J2ME 的兴趣
我需要搜索字符串上的子字符串。诀窍是:- 这是我不关心的一封信。- 这封信中必须有一个字母,但哪个字母并不重要。- 字母是“I”,所以 因此,例如与字符串相比时的子“MQINEEIR”: - "MQI
我有一个特性,可以为微 Controller 指定允许的引脚配置: pub trait TimChannelsMapping: Sized { const MAPPING: u8; } 它是这
有没有办法在嵌套列表中查找特定值而不关心其余值的情况下使用 count()? lst = [[1,6],[1,4],[3,4],[1,2]] X = 1 lst.count([X, _ ]) 这将返回
我有一组位模式,想在该组中找到与给定输入匹配的元素的索引。位模式包含“无关”位,即匹配 0 和 1 的 x-es。 例子位模式集是 index abcd 0 00x1 1 01xx
在类里面,我们现在正在学习如何构建 Spring 应用程序,尽管 Spring 没有直接参与,但我们学习了如何为 DAO 和服务层对象制作接口(interface)。 如果我错了,请纠正我:DAO 层
是否可以在 Kotlin 中标记“不关心”?我无法找到合适的语法,Haskell 和 Python 使用 _ 符号,但这在 Kotlin 中不起作用。 示例, data class DesugarEx
我有一条名为 input 的电线,我想检测前导的数量我正在尝试创建一个模块,该模块使用下面的 case 语句根据前导零的数量更改输出数据。然而,输入的大小是可参数化的。 如果 X 是固定值 4,我将只
我遇到以下错误消息: 1. byobu ERROR: Sessions should be nested with care. Unset $TMUX to force. 某些版本会显示警告而不是错误
我正在尝试修剪数字 (0-9) 的骨架化图像,由于原始数字厚度的不规则性,该图像有时会高度分支。 为此,我尝试使用图 4 中所示的内核:http://homepages.inf.ed.ac.uk/rb
我正在尝试创建一个简单的数据类型,用作 Numpy 数组的 dtype,我可以在其上执行元素明智的加法、减法和比较。该类型应具有(至少)三个值,分别表示真、假和“无关”(DC)。后者等于 true 和
我有一个相当大的集合,包含 n 个具有整数坐标(d 大约为 50)的 d 维向量,除了在某些情况下坐标是一个特殊的标记“无关”值,我将用*。我正在尝试找到一种有效的算法,用于将所有相互比较相等的向量合
我是一名优秀的程序员,十分优秀!