web-dev-qa-db-ja.com

Spring MVCとJSF

私は過去のすべてのアプリケーションでStrutsフレームワークを使用していましたが、新しいアプリケーションでは、クライアントがSpring MVCまたはJSFのいずれかを使用するように要求しましたか?私はこれらの2つのフレームワークに精通していませんが、私たちのスケジュールは厳密です。したがって、アプリケーションを構築するためにどのフレームワークを選択するのかわかりません。

誰でも、どのフレームワークを短時間で簡単に習得できるか教えてください。

ありがとう

69
Yatish

もちろん、それは誰にとっても異なるでしょうが、StrutsのようなリクエストベースのフレームワークであるSpring MVCをお勧めします。もちろん、Inversion of Control/Dependency InjectionなどのSpringの中核(ただしプラスと考えています)や、データベースアクセスに使用するもの(JDBC、Hibernateなど)について学習することをお勧めします。 iBatis?など)。

JSFはコンポーネントベースであり、リクエストベースのフレームワークとは少し異なるパラダイムです。 JSFルートに行く予定がある場合は、JBossのSeamをご覧になることをお勧めします。これは、Web /プレゼンテーションエンドとしてJSFを使用し、バックエンドとしてEJBを使用するフロントツーバックフレームワークです。そして、それを使用したほとんどすべての人々は、JSFとEJBを彼ら自身よりも使いやすくすると主張しています。

ただし、どちらのテクノロジーを選択しても幸運です。 (あなたがそれを必要とするように聞こえます-厳格なタイムラインとWebフレームワークを処方しているクライアント?)

50
Nate

時間枠のため、SpringMVCをお勧めします。

  • 学習曲線が緩やかなものが必要です。 SpringMVCはJSFよりもStrutsに似ています
  • jSFのパワーを使用するには、多くの「トリック」に慣れる必要がありますが、SpringMVCは多少簡単です
25
Bozho

JSF + Primefacesコンポーネントライブラリをお勧めします。この組み合わせを使用して、ほとんどのプロジェクトを構築しています。私が覚えているように、私は技術を学ぶために一週間を費やし、一ヶ月で私の最初のプロジェクトを終了しました。開発時間はStrutsより少なくとも30%高速です。

SpringMVCは悪い技術ではなく、非常に人気があります。

どれが一番好きかによります。

12
Ted

JSFはMVCの単なるビューレイヤーであり、完全なMVCを実現するために、Spring/HibernateやEJBなどの他のテクノロジーとともに使用する必要があります。

私はSpring MVCを約1ヶ月間使用していますが、おそらくSpringMVCの最新バージョンではありませんが、処理するXMLがたくさんあるのは少し面倒です。すべてのマネージドBeanとDAOにはXML構成があります。また、すべてがonSubmit()と呼ばれるメソッドを徹底する必要があるようです。

私の意見では、EJBのようなJSFははるかに単純です...アノテーションを使用してすべてを実行できるため、バッキングBeanで@ ManagedBean = theBeanを使用し、JSFで{thebean.param}を置くと、バッキングBeanのデータにアクセスできます。また、EJBのセッションBeanをJSFのバッキングBeanとして使用し、DAO(モデルレイヤー)エンティティBeanに直接アクセスできます。繰り返しますが、単に@EntityアノテーションとEntityManagerクラスを使用して

Spring MVCは、Springフレームワーク内のWebフレームワークです。 JSF 2.0にあるような機能を提供します:ajaxサポート検証依存関係注入など。ただし、Spring(Spring MVCではなく)をJSF 2.0と一緒に使用できます。springは依存関係注入、aop、トランザクション管理メカニズム、JSFを提供しますWebレイヤーを提供します。

5
Dhrumil Shah

もちろん、Inversion of Control/Dependency InjectionのようなSpringの中核的なものについて学びたいと思うでしょう(しかし、それはプラスになると思います...)

JSFは確かにIoCに基づいており、Springの学習曲線よりもはるかに単純です。

5
J Slick