【发布时间】:2015-06-09 15:03:18
【问题描述】:
我是 Spring Boot 的新手,我已经看到了我们创建存储库以使用给定对象执行各种操作的示例。这是示例
@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends PagingAndSortingRepository<Person, Long> {
List<Person> findByLastName(@Param("name") String name);
}
如果我发送 People jason 来自其他客户端
http://localhost:8080/people{ .... }
它插入数据库,内部调用save方法。
这里从 REST 客户端调用后,我想做一些验证或业务登录,然后插入数据库,我该怎么做?这意味着我想调用一个服务方法来完成所有业务逻辑,然后插入,那么我如何从存储库类调用服务方法?
【问题讨论】:
-
我能知道投反对票的原因吗?
-
这个问题不清楚。为什么要从存储库类中调用服务方法。 “存储库”类旨在完成与数据库相关的工作,并且无论如何拥有服务方法与“Spring-Boot”无关。创建服务类以执行业务逻辑,然后调用存储库以执行数据库相关操作。
-
所以我不能以这种模式编写任何业务逻辑,我必须调用服务层,然后我需要从那里调用存储库.. 对吗?
-
是的。您需要添加一个服务类来执行业务逻辑,并在该类中注入您的存储库引用,您可以使用它来调用存储库方法。
-
所以在这种情况下,将“@RepositoryRestResource”注释添加到 Repository 类没有任何意义,因为我们不是从 REST 调用 respository 类,我们必须调用服务,然后服务使用自动装配的对象来调用存储库.我说的对吗?
标签: spring rest spring-mvc spring-boot