通常,Spring服务是事务性的。事物进入一种特定的服务方法,因为它们应该在同一事务中组合在一起。如果要从数据库中检索对象,请旋转一下并保存新版本,则检索和保存应使用相同的服务方法。因此,你的服务方法取决于你需要应用程序为用户执行的操作。
我试图限制控制器从事与验证http参数有关的工作,确定使用哪种参数调用哪种服务方法,在httpsession或请求中放入哪些内容,重定向或转发到哪个视图或类似与Web相关的内容。
就验证而言:验证控制器中的输入参数是一件好事,以确保没有人可以使用假输入破坏你的应用程序。控制器中的验证往往是确保输入在语法上正确(包括检测注入攻击),而服务级别的验证则是确保数据库中事物的状态符合你的期望。
因此,控制器包含Web框架基础结构代码,服务包含应用程序逻辑代码。



