web-dev-qa-db-ja.com

春のデータの残りと春のデータのjpa

私は次の質問を見ました

Spring Dataを使用する利点は何ですかREST Spring Data JPAよりも優れていますか?

それは私のニーズに完全には応えていません。私のDBはMYSQL上にあり、Spring-Data-JPA実装を選択しました。 RESTは、単純なSpring-Data-JPAにはない、追加されたすべての利点を教えてくれますか?たとえば、明日、ビジネスとデータベースの両方にキャッシュを実装することにしました。モジュールの場合、より少ないコードを作成する必要がありますか?簡単に構成できますか?どちらがより柔軟で、どのようにですか?

また、新しいアプリケーションでRESTとJPAの両方を使用している場合、どの設計原則に違反しますか?

建築の観点からの回答を楽しみにしています。前もって感謝します。

14
Dipanshu Verma

基本的に、あなたの質問は完全に要点ではないと思います。春のプロジェクトのジャングルを完全に通り抜けたわけではないと思いますので、ここで少し説明します。

Spring-data-jpaは、JPAを使用してデータにアクセスするための春の方法です。 spring-data-jpaの上にspring-data-restを使用して、リポジトリーとエンティティーの上にコードのないREST-APIレイヤーを作成できます。

そして、spring-data-restがあなたのためにできることはただ驚くべきことです。これは、JPAレイヤーの上にREST APIを作成する最も速い方法です。また、高度にカスタマイズ可能です。しかし、限界があると思います。最も重大な弱点は、間の緊密な結合です。エンティティとAPI。通常、これらのレイヤー間で少しデカップリングが必要ですが、これは優れたソフトウェアです。高速で、最小限のコードを記述したい場合は、Spring DataRESTを使用してください。

Spring-data-restの代わりとなるSpringは、 spring MVC を直接使用してREST APIを独自に作成します。Spring-data-jpaは引き続き実装に使用されます。データアクセスレイヤー。SpringMVCは非常に強力で、内部のspring-data-restによって使用されます。これにより、RESTレイヤーを完全に制御できます。

また、言及したい spring HATEOAS -これはspring mvcの上の単なるモジュールであり、ハイパーメディア駆動のREST API-を作成するためのツールを提供します。 Richardson Maturity Model の成熟度レベル3に進むことができます-これは、内部でspring-data-restによっても使用されます。

32
Mathias Dpunkt