2013-09-29 20 views
37

「Begining Java EE 7」を読んでいます。 Java EE 7はCDI、Bean検証、Web層用のJSF、その他の仕様など、優れたテクノロジのスタックであることに疑問を抱いていました。スプリングとJava EE 7

質問があります:
Java EE 7が存在し、Springが実装しているすべての機能をカバーするのはなぜですか?

+4

あなたはそれについての本を手にしましたので、もちろん一つのことは、*最初の*別のよりも優れています。 –

答えて

30

私は、Springの使用について少し知っています。 Java EE 7には、これらの問題を解決するためのすべての技術が備わっていると言っても間違いありません。

Well Springは、これらの機能を向上させ、開発者の生活をより簡単にします。

例として、Spring MVCフレームワークを使用する場合、Spring UIタグを使用してJSPを作成し、それらのタグを使用して値をコントローラに直接マップすることができます。コントローラーとは、フォームの送信時に呼び出されるJavaクラスを意味します。また、フォームデータの検証に役立ちます。

また、これはサーブレット技術を使用して達成することができますが、春はあなたのビジネスロジックに集中することができますし、それはこれらの世話をします。その良いが知っているとJava EE 7理解が、春のようなフレームワークは、開発者のための生活を楽にするためのベストプラクティスとパターンの一部を利用する開発者としての私の経験では

他人からの意見も聞きたいですか?

これが役に立ちます。

+9

一般的に私はUIをレンダリングするためにプレーンなJSPを使うべきではないと思います。 JSFを使用する場合は、Springがバッキングオブジェクトを使用したバリューマッピングについて説明したのと同じことが達成されます。例えば。 Beanの検証を使用すると、JSFは検証エラーについて自動的に通知します(PrimeFacesでテスト済みです。明示的に必要な場合を除き、コントローラで任意のパラメータを処理する必要はありません)。エンティティ(JPA)をJSFを使用して直接UIにマッピングすることもできます。 JavaEE7はSpringより少し複雑かもしれませんが、私にとっては、より堅牢で、終わりには少し便利かもしれません。 –

+1

私は、JSPのような10年前の「アクション指向の」フレームワークで本当に技術スタックを再解析する必要があるという*フレームワークの利点を信じている人はいないと思います。 Wicket、JSF、Tapestryのような 'コンポーネント指向の'フレームワークは非常に成熟しており、あなたの生産性を驚くほど向上させます。私は他人のために話すことができませんが、WicketはWeb 2/AJAXのすべてのものを透過的な方法で処理しますが、あなたがそうしているならJSでハックすることができます。私はJSに戻すことはめったにありません - あるいは、 "Webアセンブラ言語"と呼んでいます。 – Volksman

+0

私は同意します、彼の例は悪いです。私がJSPを読んだとき、私は震えました。しかし、私は春を使い、長い間持っています。 JSPを使用する理由はまったくありません。あなたが望むことができますが、あなたはするべきではありません。 JSF、Velocity、Thymeleaf、Freemarker、Wicketなどのさまざまなフロントエンドフレームワークにはたくさんのタイインがあります –

18

私はどちらかというと両方を知っているべきだと思います。 Springは巨大なコミュニティを持ち、幅広く使用されていますが、最新のバージョンでSpringにある多くのテクノロジを使用して、Java EEも現在進んでいます。

しかし、Java EEは春が行うすべてのフィールドをカバーすることを言って間違っています。私の意見では、モバイル(Springモバイル)、ソーシャル(Springソーシャル)、ナビゲーションフロー管理(Spring Webflow)などの特定のドメインで作業する場合、Springはまだ違いを生み出すことができるものを持っています。

+0

また、真実ではありません。 JEEには、春には存在しないものが多く、近い将来には存在しないようなものがたくさんあります。適切なイベントメカニズム、ビューフレームワーク(Springには、Thymeleafと統合する最新のビュー技術がありません)。 Spring SocialはAgoravaによって簡単に打ち負かすことができます:http://www.agorava.org/。同じことがセキュリティや他のプロジェクトにも当てはまります。 JEEには拡張メカニズムがあり、開発者は1つの会社が管理するプロジェクトに貢献する必要はなくなりました。 Spring DataでもCDIプラグインとして利用できるようになりましたが、Apache Deltaspikeと呼ばれるもっと良いプロジェクトがあります。 –

関連する問題