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

Spring data rest vs Spring data jpa

齐运诚
2023-03-14

我看了一下下面的问题

与SpringDataJPA相比,使用SpringDataREST有哪些优势?

它不太符合我的需要。我的数据库在MYSQL上,我选择了Spring-Data-JPA实现。REST能给我带来哪些我在简单的Spring-Data-JPA中找不到的额外优势?例如,如果明天,我决定实现缓存b/w我的业务和数据库模块,在这种情况下,我将不得不写较小的代码?哪个容易配置?哪一个更灵活,如何灵活?

另外,如果我在一个新的应用程序中同时使用REST和JPA,我要打破什么设计原则?

我期待着从架构的角度得到答案。提前谢谢。

共有1个答案

宋经赋
2023-03-14

基本上我认为你的问题不完全中肯。我想你还没有完全找到穿越Spring丛林计划的方法——所以我试着在这里给你一点方向。

SpringDataJPA是使用jpa访问数据的Spring方式。您可以在SpringDataJPA之上使用SpringDataREST来创建一个rest-API层,在您的存储库和实体之上没有代码。

Spring数据Rest能为你做什么是惊人的。这是在JPA层上创建REST API的最快方法。它也是高度可定制的。但我认为它有它的极限。最重要的弱点是实体和API之间的紧密耦合。通常,您希望在这些层之间有一点解耦。但它是一个伟大的软件。如果您需要快速并希望编写最少数量的代码,请选择Spring数据Rest。

Spring-data-rest的另一种选择是直接使用Spring MVC创建自己的REST API。Spring-data-jpa仍将用于实现数据访问层。SpringMVC非常强大,用于引擎盖下的Spring数据Rest。这使您可以完全控制REST层。

我还想提到spring HATEOAS——它只是spring mvc之上的一个模块,它为您提供了创建超媒体驱动的REST API的工具——因此您可以选择Richardson成熟度模型的成熟度级别3——spring data REST内部也使用它。

 类似资料:

相关问答

相关文章

相关阅读