web-dev-qa-db-ja.com

Java EEとは正確には何ですか?

私はここ数年Java SEをやっており、Java EEに移行しています。ただし、Java EEのいくつかの側面を理解するのは困難です。

  1. Java EEは単なる仕様ですか?つまり、EJB Java EEですか?

  2. EJB/SpringはJava EEの異なる実装ですか?

質問して申し訳ありませんが、Java EEが何であるかを理解するのは困難です。

誰かがJava EEとは何か説明できますか?そしてEJB?

144
Frank Zimmer

Java EEは単なる仕様ですか?つまり、EJB Java EEですか?

Java EEは確かにabstract仕様です。誰でも仕様の実用的な実装を開発して提供することができます。 concrete実装は、 WildFlyTomEEGlassFish のような、いわゆるアプリケーションサーバーです。 、 LibertyWebLogic など。-などの巨大なJava EE APIのJSP /サーブレット部分のみを実装するサーブレットコンテナもあります。 TomcatJetty など.

Java EE開発者は、仕様を利用してコードを作成する必要があります(つまり、コード内のインポートonlyjavax.*クラスではなくorg.jboss.wildfly.*com.Sun.glassfish.*など)を実行すると、任意の実装(つまり、任意のアプリケーションサーバー)でコードを実行できます。 JDBCに精通している場合、それは基本的にJDBCドライバーの動作と同じ概念です。 a.oも参照してください。 最も簡単な言葉で言えば、工場とは何ですか?

Oracle.comの Java EE SDKダウンロード には、基本的にGlassFishサーバーと多数のドキュメントとサンプルが含まれており、オプションでNetBeans IDEも含まれています。別のサーバーやIDEが必要な場合は必要ありません。

EJBはJava EE仕様の一部です。見てください Java EE APIにあります 。本格的なJava EEアプリケーションサーバーはそのまま使用できますが、単純なJSP /サーブレットコンテナはサポートしていません。

こちらもご覧ください:


EJB/SpringはJava EEの異なる実装ですか?

いいえ、前述のとおり、EJBはJava EEの一部です。 Springは、Java EEの多くの部分を置換および改善するスタンドアロンフレームワークです。 Springでは、実行にJava EEが必ずしも必要ではありません。 Tomcatのような最低限のサーブレットコンテナですでに十分です。簡単に言えば、SpringはJava EEのライバルです。例えば。 「Spring」(スタンドアロン)はEJB/JTAと競合し、Spring MVCはJSF/JAX-RSと競合し、Spring DI/IoC/AOPはCDIと競合し、Spring SecurityはJAAS/JASPICと競合します。

かつてのJ2EE/EJB2時代には、EJB2 APIの実装と保守はひどいものでした。その場合、SpringはEJB2のはるかに優れた代替手段でした。しかし、EJB3(Java EE 5)以降、EJB APIはSpringから学んだ教訓に基づいて大幅に改善されました。 CDI(Java EE 6)以降、開発者が他のサービス層をより簡単に開発できるようにするために、Springのようなanotherフレームワークをもう一度検討する理由はありません。

Tomcatなどのベアボーンサー​​ブレットコンテナを使用しており、Java EEサーバーに移動できない場合にのみ、SpringはTomcatにSpringをインストールする方が簡単であるため、より魅力的です。たとえば、インストールすることはできません。サーバー自体を変更せずにTomcatのEJBコンテナを使用すると、基本的にTomEEを再発明することになります。

こちらもご覧ください:

166
BalusC

Java Enterprise Edition(Java EE)は、他の多くの詳細な仕様を参照する包括的な仕様であり、Enterprise JavaBeans(EJB)はより重要な仕様の1つです。

読む this -Java EEとSpringの違いを説明しています

ありがとう...

11
  • ソース -Java 2 Platform、Enterprise Edition(J2EE)は、コンポーネントベースの多層エンタープライズアプリケーションを開発するための標準を定義します。 J2EEは、移植可能でスケーラブルで、レガシーアプリケーションやデータと簡単に統合できるエンタープライズアプリケーションの構築を簡素化します。

  • ソース -Enterprise JavaBeans(EJB)テクノロジーは、Java Platform、Enterprise Edition(Java EE)のサーバー側コンポーネントアーキテクチャです。 EJBテクノロジーは、Javaテクノロジーに基づいて、分散型、トランザクション型、安全でポータブルなアプリケーションの迅速かつ単純化された開発を可能にします。

  • Java EEは単なる仕様ですか?つまり、EJB Java EEですか?

    • Java EEは仕様です。

    • EJBはJava EEのサーバー側コンポーネントアーキテクチャです

  • EJB/SpringはJava EEの異なる実装ですか?

    • EJBとSpringは、Java EEに続く異なるフレームワークです。
4