新しい RESTful アプリケーションを作成したい。spring+jersey で実行できるフレームワークについて少し混乱していますが、 jersey だけを使用して同じアプリケーションを実行できますか?
SpringREST と jersey の主な違いは何ですか? どちらがより便利ですか?なぜ?
2 に答える
私は両方のフレームワークを少し使用しました。Spring は多くの領域をカバーする大規模なフレームワーク/API であり、その 1 つがレスト サービスです。一方、ジャージは残りをカバーするだけです。JAX-RS API (JSR 311 & JSR 339) のリファレンス実装です。
これは基本的に、Java で休息を行うための「標準的な」方法です。RestEasy のような他の実装もあります。理論的には、コードは共通の JAX-RS インターフェースを参照するだけで済みます。つまり、必要に応じて後で別の実装に交換できるはずです。これは明らかに、JAX-RS 標準の一部ではない特注の機能に依存しない場合にのみ機能します。
ジャージーを使用する場合でも、春が欲しいと思うかもしれません。依存性注入だけでも役に立ちます。この場合、残りのリクエストを処理する JAX-RS クラスがあり、その後、注入された Spring サービスを呼び出します。これは実際に私が残りの API を書いている方法です。
Spring を使用して残りのサービスを作成するか、JAX-RS を使用するかは主観的であり、実際にはあなた次第です。個人的には、標準の JAX-RS API を使用しました。スプリング レストのアプローチは、基本的には、もともと JSP を対象としていた spring-mvc の拡張です。エラー処理などは、spring-mvc よりも JAX-RS を使用した方が簡単であることがわかりました。そうは言っても、他の誰かが異議を唱えるかもしれません。もう 1 つの利点は、理論的には標準に従うことで、将来、別のプロバイダーに切り替えたい場合により柔軟に対応できることです。
主な違いは、Jersey は標準ベースであり、Spring MVC はそうではないということです。どちらもとても良いです。
Jersey (私は 1.x を使用) で見つけた主な利点は、Jackson JSON ビューを自動的に使用でき、Spring MVC では使用できないことでした。また、Spring MVC でのエラー処理は、エラー ページのデフォルトが標準の HTML であるため、やや苛立たしいものです。
あなたがリストしていない別のプロジェクトがあります。それは Spring Data + Spring HATEOAS です。これは新しいですが、かなり良いようです。