2

私は Java EE 6 を学んでいます。アンブレラ仕様の今回のリリースで、Java EE 6 がどれだけ進歩したかを見てきました。EJB 3.1 は以前のバージョンよりもはるかに簡単で軽量であり、CDI は驚くべきものです。

私は Spring に詳しくありませんが、Spring には Java EE スタックにはない優れた機能がいくつかあるという記事をよく読みます。しかし、Java EE が追いつき、Spring と完全に競合できるようになったことも読みました。

両方から選択することは多くの要因に依存することはわかっていますが、機能だけに焦点を当てると、最新のトレンドなどを言うと、どちらが最先端ですか? Spring 3 はいくつかのアセットを提供できますか? Java EE 6 スタックは提供できませんか?

また、Seam フレームワークはどうですか? 私が読んだところ、それはJava EE 6のようですが、いくつかの追加がありますか?

4

1 に答える 1

6

時間の経過とともに、JavaEEは確かに機能の面で追いつきました。

しかし、私が何度も遭遇した1つの要因は、私が長い間Springを好んできた主な理由です。JavaEEサーバーと実装はバグが多く、開発者にとって使いにくいものです。これは暴言のように聞こえるかもしれませんが、JavaEE 6の最高のものでさえ-CDI(Weld impl)には不可解な例外メッセージがあり、開発者に苦労を与えています(ここを参照)。アプリケーションサーバーは言うまでもありません-本当に醜いバグでいっぱいです(JBoss 5で3時間作業して約5つのバグを見つけることができました)

私にとって春をより魅力的にするもう1つの点は、短い時間枠で機能を追加できることです。コメントで述べたように、統合キャッシュの抽象化と会話処理は、前のバージョンから数か月後の次の春のリリースで追加される予定です。JavaEEでは、多くの時間を待たなければなりません(少なくとも標準ソリューションの場合)

しかし、JavaEEではそれほど黒くはありません。問題の多くには回避策があるか、タイムリーに修正されます。そして最終的には、それは個人的な好みの問題です。

ちなみに、Springのポートフォリオは、その間に多くの特定の機能/機能セットを追加するサイドプロジェクトでいっぱいでした。それらの多くはJavaEEでも使用できますが、Springに完全に適合するように設計されていることに注意してください。

  • 春のセキュリティ-宣言型セキュリティ
  • springroo-迅速なブートストラッププロジェクトのためのツール
  • 春のウェブフロー-ウィザードのような旅を処理するためのMVC上のフレームワーク
  • 春のデータ-NoSQLストアへのアクセスを統合することを目的としたまだ新しい
  • 春のモバイル-モバイルプラットフォームに春をもたらす
  • 春のソーシャル-ソーシャルネットワークと対話するためのツールのセット

これは単なる追加機能であり、JavaEEにも追加機能がありますが、CDIが見逃しているものを提供することを特に目的としているSeamを除けば、(写真を見る限り)より汎用的です。

結論として非常に重要な注意事項が1つあります。springとJavaEEの比較は正しくありません。SpringをCDI+EJB+Applicationサーバーと比較したいと思います。JavaEEの残りの部分は、Springと一緒に使用できますが、多くの場合、使用されています。JAX-WS、JAXB、JSFでさえ、春にうまく適合し、よく使用されます。

于 2011-02-04T22:52:55.207 に答える