Spring、Struts、Hibernate、JavaServer Faces、Tapestryの違いは何ですか?


199

違いは何ですか?-

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

これらのテクノロジー/フレームワークは相互に補完的ですか?または、それらはお互いの代替品です(私はそれらの1つを使用した後、もう1つを使用する必要はありません)?

ありがとう。

回答:


267
  1. SpringはIoCコンテナー(少なくともSpringのコア)であり、依存関係注入を使用して物事をワイヤリングするために使用されます。Springは、トランザクション管理やその他のさまざまなテクノロジーのシームレスな統合などの追加サービスを提供します。
  2. Strutsはアクションベースのプレゼンテーションフレームワークです(ただし、新しい開発には使用しないでください)。
  3. Struts 2は、アクションベースのプレゼンテーションフレームワークであり、上記のバージョン2(WebWorkとStrutsのマージから作成)です。
  4. Hibernateは、オブジェクトリレーショナルマッピングツールである永続フレームワークです。
  5. JavaServer Facesは、コンポーネントベースのプレゼンテーションフレームワークです。
  6. JavaServer Pagesは、上記のすべての表示フレームワークで使用されるビュー技術です。
  7. タペストリーは、別のコンポーネントベースのプレゼンテーションフレームワークです。

要約すると、

  • Struts 2、JSF、Tapestry(およびWicket、Spring MVC、Stripes)はプレゼンテーションフレームワークです。それらの1つを使用する場合、別のものは使用しません。
  • Hibernateは永続化フレームワークであり、Javaオブジェクトをリレーショナルデータベースに永続化するために使用されます。
  • Springを使用して、これらすべてを結び付け、宣言型トランザクション管理を提供できます。

私は物事をより混乱させたくありませんが、Java EE 6は、上記のフレームワークと同等の最新の標準化された非常に優れた同等物を提供します。新しい開発、これはIMOが深刻なオプションであり、Java EE 6は素晴らしいスタックです。

こちらもご覧ください


2
この種の比較コンテキストでは、Springという単語を使用して独自のMVCフレームワーク(Struts IMOよりはるかに優れている)を指す人もいることを指摘しておきます。
MetroidFan2002

うまく説明しましたが、それでもあまりにも技術的です。簡単な言葉で説明することをお勧めします。とにかく、最後のリンクはそれをしました。
noob

答えは確かに優れた出発点ですが、導入された主な概念(要求ベースのフレームワークとコンポーネントベースのフレームワーク、IoCコンテナー、プレゼンテーションと永続性フレームワーク...)を説明することで改善できる可能性があります。グーゲル化、しかしそれはまだ良い答えであり、素晴らしい出発点です!賛成票。
Wouter 2017年

19

一般的に...

Hibernateは、データベース操作の処理に使用されます。コードの行数を削減するデータベースユーティリティ機能の豊富なセットがあります。特に@Annotation of hibernateを読む必要があります。これはORMフレームワークと永続化レイヤーです。

Springは、インジェクションベースの動作メカニズムの豊富なセットを提供します。現在、春は有名です。Spring AOPについても読む必要があります。StrutsとHibernateの間にブリッジがあります。主にSpringはこの種のユーティリティを提供します。

Struts2は、アクションベースのプログラミングを提供します。Strutsタグの豊富なセットがあります。Strutsはアクションベースのプログラミングを証明するため、ビューの関連するすべての制御を維持する必要があります。

さらに、TapestryはJavaの別のフレームワークです。.tml(テンプレートファイル)のみを処理する必要があります。クラスごとに2つのメインファイルを作成する必要があります。1つはJAVAクラスで、もう1つはそのテンプレートです。両方の名前は同じです。Tapestryは自動的に関連クラスを呼び出します。


7

ここでは、自分の概要とランキングを確認できます。HibernateはORMなので、struts + Hiberanteまたはspring + hibernateのいずれかを使用してWebアプリを構築できます。さまざまなWebフレームワークや多くのものが相互の代替手段です。


4

Springは、IOC(Inversion of Control)を扱うアプリケーションフレームワークです。

Struts 2は、アクションを処理するWebアプリケーションMVCフレームワークです。

Hibernateは、永続データを処理するORM(オブジェクトリレーショナルマッピング)です。


3

要するに、

Strutsはウェブサイトのフロントエンド開発用です

HibernateはWebサイトのバックエンド開発用です

Springは、Spring MVC(Model-View-Controller)がフロントエンドであるWebサイトの完全なスタック開発用です。ORM、JDBC for Data Access / Integration(backend)。等


2

hibernateでは、SQLでテーブルを作成する方法を気にする必要はありません。また、そのデータがデータベースに永続化されるように、接続、準備されたステートメントを覚えておく必要もありません。したがって、基本的には開発者の生活を楽にします。


2

Springは、2003年に Rod Johnsonによって作成された軽量でオープンソースのフレームワークです。Springは完全なモジュール式フレームワークです。Springフレームワークは、リアルタイムアプリケーションのすべてのレイヤー実装に使用できます。Springは、特定のレイヤーの開発に使用できますリアルタイムアプリケーションの。

Strutsは、Java EE Webアプリケーションを開発するためのオープンソースのWebアプリケーションフレームワークです。JavaサーブレットAPIを使用および拡張して、開発者がモデル、ビュー、コントローラー(MVC)アーキテクチャを採用するように促します。もともとは Craig McClanahanによって作成され、2000年5月にApache Foundationに寄付されました。

以下は、SpringとStrut Frameworkの違いの比較表です。

ここに画像の説明を入力してください


0

タペストリーのページとコンポーネントは、Java言語機能に簡単にアクセスできるゲッターとセッターで構成されるシンプルなPOJO(Plain Old Java Object)です。


0

SpringStruts、およびHibernateの違いは次のとおりです。

  1. Springはアプリケーションフレームワークですが、Strutsとhibernateはそうではありません。
  2. SpringとHibernateは軽量ですが、Struts 2はそうではありません。
  3. SpringとHibernateはレイヤードアーキテクチャを備えていますが、Struts 2はそうではありません。
  4. SpringとHibernateは疎結合をサポートしていますが、Struts 2はサポートしていません。
  5. Struts 2とHibernateにはタグライブラリがありますが、Springにはありません。
  6. SpringとHibernateはORMテクノロジーと簡単に統合できますが、Strutsはそうではありません。
  7. Struts 2はクライアント側のテクノロジーと簡単に統合できますが、SpringとHibernateにはありません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.