【发布时间】:2019-07-31 16:57:17
【问题描述】:
我是 SpringBoot 的初学者。通过扩展作为接口的 CrudRepository,我使用 findAll() 和 save() 方法分别读取和创建操作。因此我找不到任何实现
我的问题是这些方法在哪里以及如何实现?
【问题讨论】:
我是 SpringBoot 的初学者。通过扩展作为接口的 CrudRepository,我使用 findAll() 和 save() 方法分别读取和创建操作。因此我找不到任何实现
我的问题是这些方法在哪里以及如何实现?
【问题讨论】:
仅凭您提供的信息无法回答您的问题。这不是一件坏事。这是一件非常好的事情。这就是接口和 Spring 最基本的能力依赖注入的强大之处。这两个概念背后的整个想法是您的代码,甚至可能是程序员,对特定接口的实现一无所知。该接口可能有几个或数百个独特的实现,每一个都意味着对您的问题的回答至少略有不同。
“回答”您的问题的另一种方法是说“您在代码中与之交互的接口的实现由您配置为实际执行该角色的该接口的具体实现定义。”。
对于 Spring Boot,问题的答案通常由应用程序的包依赖项定义,通常通过 Maven 或 Gradle 项目文件定义。例如,这里是您要添加到 Gradle 项目定义中以使 Spring Boot 使用 JPA 和 MySQL 实现您的 CRUD 操作的行:
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile("mysql:mysql-connector-java:5.1.13")
如果您有一个正在运行的应用程序,那么您的问题的答案可能取决于您的 Maven 或 Gradle 文件中与这些类似的行,或者根据您用于定义它的任何方法在您的项目的等效定义中确定。如果您没有一个可以工作的应用程序,那么您可能还没有选择一个支持实现,而您的问题实际上没有答案。
如果您想要一个更明确的答案,为什么不发布有关您的应用程序的更多详细信息,例如代码,更重要的是,您的 Maven 或 Gradel 项目文件。
【讨论】: