当前位置: 首页 > 知识库问答 >
问题:

在Spring启动时从存储库调用服务

顾承平
2023-03-14

作为Springboot的新手,我看到了一个例子,我们创建存储库来对给定的Object执行各种操作。这是样品一

@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends PagingAndSortingRepository<Person, Long> {

    List<Person> findByLastName(@Param("name") String name);

}

所以从其他客户那里,如果我派人杰森

http://localhost:8080/people{....}

它插入到数据库中,在内部调用 save 方法。

在这里,从REST客户端调用后,我想进行一些验证或业务登录,然后插入到数据库,我该怎么做?这意味着我想调用一个服务方法来完成所有的业务逻辑,然后插入,因此我如何从存储库类调用服务方法?

共有1个答案

许俊风
2023-03-14

这个存储库是一个界面,允许您执行涉及Person对象的各种操作(这里的操作是指与数据库相关的操作)。它通过扩展SpringDataCommons中定义的PagingAndSortingRepository接口来获得这些操作。

在运行时,Spring Data REST会自动创建这个接口的实现。然后它将使用@RepositoryRestResource注释来指导Spring MVC在/people创建RESTfulendpoint。

我不认为在存储库上有“@RepositoryRestResource”就能满足您的需求。您可能想要创建一个适当的sprint-boot应用程序,它包含api、服务和repo层,以执行您想要执行的任务。

 类似资料:
  • 我正在开发一个Spring BootAPI,该API应该在本月晚些时候部署。我们为存储库创建了自己的界面,并扩展了CrudRepository。Spring开机自动连线一切。 我想做的是添加更多日志记录功能,例如。 目前,我们的代码如下所示: 由于Spring配置了所有功能,所以并没有真正看到装饰这些功能以添加日志功能的方法。有人能帮我指出留档,展示一个很好的例子,或者解释日志装饰器背后的概念吗?

  • 我使用Spring Boot和Spring数据。 我认为把存储库层和服务层分开是没有问题的 null null 在我的控制器中,我必须从UserService调用方法,有时还必须从UserRepository调用方法。目前,我将两者都注入到控制器中,并调用service或repository 我只是问,因为我混淆了在同一个类中注入两者和调用其中一个或另一个 另一方面,这意味着在服务层重复方法,如下

  • 我已经用@Autowired注释为相应的存储库定义了服务类 存储库接口定义为从JpaReepository扩展 应用程序自动编译服务类 运行时,我得到以下错误

  • 我正在使用Spring方法级别的注释@cacheable来缓存我从数据库中获取的数据。我可以在服务器启动时使用上述注释执行缓存吗?我尝试了这个,但它再次从数据库而不是从缓存中获取。

  • 我想使用SpringBoot和SpringDataMongoDB开发一个小测试应用程序。因此,在本例中,我使用默认配置(如localhost:27017/test-database),并尝试遵循spring指南(https://spring.io/guides/gs/accessing-data-mongodb/). 我按如下方式启动我的应用程序: DummyClass如下所示: 当project

  • 当我想使用带有< code > @ EnableJpaRepositories(base package classes = userdao . class)注释的自动生成的jpa存储库时,我得到以下错误。 这是界面: 这是它实现的自定义接口: 这个自定义接口是在具体的类UserDaoImpl中实现的(spring应该通过查找interfacename后缀Impl来选择这个类 我该怎么办?我是否也