我们为什么不重写Spring CRUD存储库中的方法

时间:2019-08-01 14:13:03

标签: java spring spring-boot

我正在研究Spring数据,我注意到的一件事是,我们仅通过创建一个实现CRUD存储库的接口就能够执行CRUD操作,并且默认情况下,我们可以访问生成的查询器。 db通过方法名称。

我认为无论何时实现接口,都需要为方法提供实现。那么,为什么在使用从CrudRepository接口实现的接口时不覆盖任何内容?

1 个答案:

答案 0 :(得分:0)

Spring Data的目标之一是使数据库访问变得容易,而无需手动编写大量样板代码。

传统上,开发人员在使用数据库时通常做的一件事是用方法编写DAOs(数据库访问对象),其中每个方法都会执行特定的查询。这种方法通常是boilerplate code-简单,重复的代码,需要编写和维护许多工作,并且不包含任何业务逻辑。

使用Spring Data时,所有这些代码都会自动为您生成。唯一要做的就是在存储库界面中指定要执行的查询,然后Spring Data解释方法名称的含义,以自动生成为您执行查询的代码。

这样可以节省大量时间,并可以帮助您简化代码;它还有助于防止错误。

Spring数据存储库接口的实现在运行时自动生成。这不是通过生成已编译的源代码来完成的-在后台,Spring Data直接生成接口实现的字节码。