12

Spring に対する Seam の長所と短所は何ですか? Spring の代わりに Seam を使用するのはなぜですか?

Spring ではできなくて Seam でできることはありますか? Spring で Seam で実行できないことはありますか?

ステートフル/ステートレス アーキテクチャはどうですか? 私はSpringのユーザーなので、当然偏見があります。

4

5 に答える 5

22

なぜ春?

  • よりクリーンなコード
  • 合理化されたアプリケーション構成
  • 一般的なオープン ソース製品との優れた統合
  • ファーストクラスの AOP サポート
  • エンタープライズ規模のセキュリティ: Acegi
  • 柔軟性の高い MVC
  • 抽象化されたデータ アクセス (JDBC は OK)
  • EJB を使用しないエンタープライズ Java
  • テストは簡単です

なぜシーム?

  • Java EE 5 標準 (EJB 3.0、JPA、JSF、アノテーション) をシームレスにマージ
  • ステートフルな設計
  • バイジェクション
  • 統合された Ajax (ICEfaces および Ajax4JSF)
  • ビジネスプロセス統合 (jBPM)
  • ビジネスルールの統合 (Drools)
  • ワークスペース管理
  • 完全なスタックを提供 (JBoss & RedHat から)
  • Seam テキストと EL の強化
  • おそらく標準になるでしょう (JSR-299: Web Beans)

Framework Deathmatch: Spring vs Seam より。トーマス・ウィラジクスマ(春)。ジョシュア・ジャクソン(シーム)。Java ユーザー グループ インドネシア。JaMU 07.03. 2007 年 3 月 17 日のパワー ポイント プレゼンテーションはこちら

于 2009-06-06T03:28:34.577 に答える
5

シームにはスプリングよりも多くの利点がありますが、注意を払う価値のある魔法の言葉があり、これはパフォーマンスです!!! パフォーマンスの問題を心配していない場合は、シームを使用します。一方、アプリケーションをできるだけ高速にしたい場合や、ハードウェアが限られている場合は、Spring を使用します。seam を使って高速なアプリケーションを開発できないと言っているわけではありませんが、これを行うには自分が何をしているのかを本当に知る必要があります。私はそれらの両方を使用しました (私はそれらのグルではありません)。私が見つけたのは、春はあなたが望むものを構築するためにより多くの努力を必要としますが、最終的に結果はより柔軟になり、パフォーマンスが向上するということです. あるフレームワークでできて、他のフレームワークでできないことはないと思いますが、私はそれらの専門家ではないことを覚えておいてください。

于 2011-06-16T09:29:10.213 に答える
3

Seam は、Seam スタックを構成するコンポーネント間で、かなりシームレスな統合を実現します。そのスタック内、およびシーム モデルと foing 内に保持している限り、すべてが非常に優れています。ただし、異常なことをし始めるとすぐに、すべてが少し説得力がないように見え始めます.

あまり一般化しないとすれば、Seam はその点で非常に「microsofty」です。これは悪いことではありません。ただのスタイル上の問題です。Spring はよりオープンエンドであり、開始するのにより多くの労力を要しますが、最終的にはより柔軟で、はるかにオープンです。

于 2009-06-07T17:22:24.893 に答える
2

2つを比較してみましょう。

何が一般的ですか?

どちらもオープンソースであり、MVCアーキテクチャに従い、サーブレットベースのフロントコントローラーを備えています。

SpringMVCの利点

  • ストラットの拡張。
  • ビューは、JSPとHTMLを使用して開発できます。PHPやvelocityのような他のものをプラグインすることもできます。
  • 多数のコントローラーが事前定義されています。
  • Springフレームワークとすぐに統合できます。

Seamの利点

  • JSFの拡張
  • ビューは、JSFコンポーネントライブラリを使用して開発できます。選択できるベンダーは多数あります。
  • JPAエンティティをWebレイヤーと統合します
  • 注釈ベースの検証
  • EJB3.0と統合します
  • プロセスフロー定義を提供するjBPMサポートをすぐに使用できます。
  • Droolsと統合して、Webレイヤーのビジネスルールを定義できます。
  • 良いコミュニティサポート。

結論

SeamはJSFに基づいて構築されているため、選択できるUIコンポーネントライブラリが多数あります。JavaEEスタックをより適切に再利用します。たくさんの興味深いモジュールが事前に統合されています。

Spring MVCはStrutsとSpringの上に構築されているため、Springフレームワークスタックを他のものよりもはるかによく再利用します。ただし、ビューはJSPを使用して構築されるため、リッチコンポーネントを構築するには、JSPタグライブラリベンダーに依存する必要があります。

SpringフレームワークはとにかくSeamで活用できるほど十分に拡張可能であるため、Seamフレームワークの方が適しています。

于 2010-03-28T11:48:38.103 に答える
2

Spring と Seam を一緒に使用できます。Spring はバックエンド コンポーネントに、Seam は Web レイヤー (JSF/GWT/Wicket) の拡張に使用できます。Seam は多くの Spring 機能 (つまり、IoC コンテナー、トランザクション管理) を提供します - プロジェクトでは、使用する魔女の実装を決定できます。Seam と Spring の統合の詳細 - 「Seam in Action - 無料ボーナスの章」

于 2009-09-06T22:22:33.613 に答える