在课堂上,我们现在学习如何构建Spring应用程序,即使没有直接涉及spring,我们也学习了如何为DAO和服务层对象创建接口。
如果我错了,请纠正我:DAO层是非常抽象的:它仅包含CRUD操作,并进一步用于读取数据(即:获取所有对象,获取特定对象等)
服务层:包含用于创建事物和删除事物的服务,这是业务逻辑应该存在的地方。
现在,所有这些对于服务层来说都是有意义的。除了“更新”对象。你是否只是放置了一个“更新”功能,将对象保存在数据库中?还是你还需要在其中定义逻辑?这就是我的困惑所在,我的理解是Spring中的对象只是POJO的对象。现在,谁来验证数据?
比方说,我有一个对象“孩子”有:Name,SurName,Gender,Photo,Birthdate
领域。我将如何命名服务?还是让控制器负责验证,这对我来说似乎不合适。另一方面,将每个需要调用的setter委托给服务层似乎也不对。
所以基本上就可以了:帮助我定义如何通过服务层保存对象。
通常,Spring服务是事务性的。事物进入一种特定的服务方法,因为它们应该在同一事务中组合在一起。如果要从数据库中检索对象,请旋转一下并保存新版本,则检索和保存应使用相同的服务方法。因此,你的服务方法取决于你需要应用程序为用户执行的操作。
我试图限制控制器从事与验证http参数有关的工作,确定使用哪种参数调用哪种服务方法,在httpsession或请求中放入哪些内容,重定向或转发到哪个视图或类似与Web相关的内容。
就验证而言:验证控制器中的输入参数是一件好事,以确保没有人可以使用假输入破坏你的应用程序。控制器中的验证往往是确保输入在语法上正确(包括检测注入攻击),而服务级别的验证则是确保数据库中事物的状态符合你的期望。
因此,控制器包含Web框架基础结构代码,服务包含应用程序逻辑代码。
问题内容: 在课堂上,我们现在学习如何构建Spring应用程序,即使没有直接涉及spring,我们也学习了如何为DAO和服务层对象创建接口。 如果我错了,请纠正我:DAO层是非常抽象的:它仅包含CRUD操作,并且还用于读取数据(即:获取所有对象,获取特定对象等) 服务层:包含用于创建事物和删除事物的服务,这是业务逻辑应该存在的地方。 现在,所有这些对于服务层来说都是有意义的。除了“更新”对象。您是
问题内容: 我目前正在使用带有Spring插件和hibernate的Struts2开发一个Web应用程序,并且在查看在线示例时,我看到了Service和DAO层的使用,现在才知道Service和数据访问对象层的真正用途是什么?如果服务层只是在调用DAO层的方法来执行CRUD操作。直接调用DAO层方法不明智吗? 假设此示例为Dao和Service Layer 人员服务 人道 我的问题是,如果仅将服务
也许这是一个微不足道的情况,但它对我来说很困惑,我需要一些澄清,如何以正确的方式处理它。 为了简单起见,模型如下: (User被分配给许多项目,且project有许多用户被分配给)。 null 允许两个http操作: API控制器使用服务层来执行这些操作。服务接口为休闲状态: 服务使用dbContext来执行这些操作。 问题1:哪个元素应该负责检查projectId和userId是否正确?IMHO
我使用Spring Boot和Spring数据。 我认为把存储库层和服务层分开是没有问题的 null null 在我的控制器中,我必须从UserService调用方法,有时还必须从UserRepository调用方法。目前,我将两者都注入到控制器中,并调用service或repository 我只是问,因为我混淆了在同一个类中注入两者和调用其中一个或另一个 另一方面,这意味着在服务层重复方法,如下
访问控制器 ThinkPHP引入了分层控制器的概念,通过URL访问的控制器为访问控制器层(Controller)或者主控制器,访问控制器是由\think\App类负责调用和实例化的,无需手动实例化。 URL解析和路由后,会把当前的URL地址解析到 [ 模块/控制器/操作 ],其实也就是执行某个控制器类的某个操作方法,下面是一个示例: <?php namespace app\index\contro
问题内容: 我已经阅读了几篇有关angularjs实体正确用法的文章:服务,工厂,控制器和指令。 我特别关心的是控制器和服务的比较。但是,没有一个帖子告诉我什么是控制器可以执行服务不能执行的操作,反之亦然。 可以列出它吗?或者仅仅是在angular的用法上规范? 问题答案: 控制器 通常用于绑定视图。控制器管理视图的生命周期,应将其视为视图控制器。将为视图的每个实例创建一个新的控制器,这意味着,如