在Spring启动时从Repository调用服务

时间:2015-04-04 19:25:57

标签: spring rest spring-mvc spring-boot

对于Spring启动新手,我已经看到了我们创建存储库以使用给定Object执行各种操作的示例。这是样本

@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客户端调用之后,我想做一些验证或业务登录,然后插入数据库,我该怎么办?这意味着我想调用一个服务方法来完成所有的业务逻辑然后插入,那么如何从存储库类调用服务方法呢?

1 个答案:

答案 0 :(得分:2)

此存储库是一个接口,允许您执行涉及Person对象的各种操作(此处操作意味着与DB相关的操作)。它通过扩展Sp​​ring Data Commons中定义的PagingAndSortingRepositry接口来获取这些操作。

在运行时,Spring Data REST将自动创建此接口的实现。然后它将使用@RepositoryRestResource批注指导Spring MVC在/ people创建RESTful端点。

我不认为你的要求可以通过&#34; @ RepositoryRestResource&#34;来实现。在存储库上。您可能希望使用api,service和repo层创建一个正确的sprint-boot应用程序来执行您想要执行的任务。