【发布时间】:2019-08-01 14:13:03
【问题描述】:
我正在研究 Spring 数据,我注意到的一件事是我们能够通过创建一个实现 CRUD 存储库的接口来执行 CRUD 操作,并且默认情况下,我们可以访问生成的 queieres 到db 通过方法名称。
我认为每当我们实现一个接口时,我们都需要为方法提供一个实现。那么,当我们使用从 CrudRepository 接口实现的接口时,为什么不覆盖任何东西呢?
【问题讨论】:
-
Spring Data 自动为您生成接口的实现——您不必自己编写。
-
它是否在运行时生成。我在哪里可以找到它的实现?
-
它是在运行时生成的,不是以源代码的形式生成的,可能是用Java的动态代理机制或者用cglib等字节码工程库生成的。所以没有实现的源代码可看。
-
@Jesper 听起来确实像是对我的回答
-
如果您想查看 CRUD 存储库背后的代码。在
CrudRepository<T, ID>上做Ctrl + Click。
标签: java spring spring-boot