私はここ数年Java SEをやっており、Java EEに移行しています。ただし、Java EEのいくつかの側面を理解するのは困難です。
Java EEは単なる仕様ですか?つまり、EJB Java EEですか?
EJB/SpringはJava EEの異なる実装ですか?
質問して申し訳ありませんが、Java EEが何であるかを理解するのは困難です。
誰かがJava EEとは何か説明できますか?そしてEJB?
Java EEは単なる仕様ですか?つまり、EJB Java EEですか?
Java EEは確かにabstract仕様です。誰でも仕様の実用的な実装を開発して提供することができます。 concrete実装は、 WildFly 、 TomEE 、 GlassFish のような、いわゆるアプリケーションサーバーです。 、 Liberty 、 WebLogic など。-などの巨大なJava EE APIのJSP /サーブレット部分のみを実装するサーブレットコンテナもあります。 Tomcat 、 Jetty など.
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を再発明することになります。
Java Enterprise Edition(Java EE)は、他の多くの詳細な仕様を参照する包括的な仕様であり、Enterprise JavaBeans(EJB)はより重要な仕様の1つです。
読む this -Java EEとSpringの違いを説明しています
ありがとう...
ソース -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の異なる実装ですか?