在spring-data中如何实现findAll(),save()等方法?

时间:2019-03-10 02:24:01

标签: spring-boot spring-data

我是SpringBoot的初学者。我通过扩展作为接口的CrudRepository使用了findAll()和save()方法分别读取和创建操作。因此,我找不到任何实现方式。
我的问题是这些方法在哪里以及如何实现?

1 个答案:

答案 0 :(得分:0)

仅凭您提供的信息就无法回答您的问题。这不是一件坏事。那是非常好的事情。这就是接口的力量,也是Spring最基本的功能(依赖注入)的力量。这两个概念背后的全部思想是您的代码,甚至可能是程序员,都不了解特定接口的实现。该接口可以有数百种或数百种独特的实现,而每种实现至少意味着对您问题的回答略有不同。

“回答”问题的另一种方式是说“您在代码中与之交互的接口的实现由配置为实际执行该角色的接口的任何具体实现来定义。” / p>

对于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项目文件。