1. ホーム
  2. java

[解決済み】Spring、Struts、Hibernate、JavaServer Faces、Tapestryの違いは何ですか?

2022-04-15 04:06:47

質問

とはどのような違いがあるのか、教えてください。

  1. Struts
  2. Struts 2
  3. ハイバーネート
  4. JavaServer Faces
  5. JavaServerページ
  6. タペストリー

これらの技術/フレームワークは、互いに補完し合うものですか?それとも、互いに代替するものなのでしょうか(どちらかを使ったら、もう一方は使う必要がない)?

ありがとうございます。

解決方法は?

  1. Springは IoCコンテナ (少なくともSpringのコア)であり、依存性注入を使用して物事を配線するために使用されます。Springはトランザクション管理や他の様々な技術とのシームレスな統合などの追加サービスを提供する。
  2. Strutsは、アクションベースの プレゼンテーションフレームワーク (ただし、新規開発には使わないでください)。
  3. Struts 2は、アクションベースの プレゼンテーションフレームワーク のバージョン2です(WebWorkとStrutsのマージから作成されました)。
  4. Hibernateは、オブジェクトリレーショナルマッピングツールであり 永続化フレームワーク .
  5. JavaServer Facesはコンポーネントベース プレゼンテーションフレームワーク .
  6. JavaServer Pagesは、ビューのためにすべての言及されたプレゼンテーションフレームワークによって使用されるビュー技術です。
  7. Tapestryもコンポーネントベースの プレゼンテーションフレームワーク .

では、まとめます。

  • Struts 2、JSF、Tapestry(とWicket、Spring MVC、Stripes)は プレゼンテーションフレームワーク . そのうちの一つを使えば、他のものは使わない。
  • Hibernateは 永続化フレームワーク であり、リレーショナルデータベースにJavaオブジェクトを永続化するために使用されます。
  • Springは、これらすべてを配線し、宣言的なトランザクション管理を提供するために使用することができます。

これ以上物事を混乱させたくないのですが、Java EE 6は、上記のフレームワークの最新かつ標準化された、非常に優れた同等のものを提供していることに留意してください。プレゼンテーションにはJSF 2.0とFacelets、永続化にはJPA 2.0、依存性注入などです。新しい開発にとって、これはIMO(国際標準化機構)が提供する 本格的 のオプション、Java EE 6 は <強い 素晴らしい のスタックです。

こちらもご覧ください