Ich mache seit einigen Jahren Java SE und gehe zu Java EE über. Ich habe jedoch einige Probleme, einige Aspekte von Java EE zu verstehen.
Ist Java EE nur eine Spezifikation? Was ich meine ist: Ist EJB Java EE?
Sind EJB / Spring unterschiedliche Implementierungen von Java EE?
Es tut mir leid zu fragen, aber ich habe einige Schwierigkeiten zu verstehen, was Java EE ist.
Könnte jemand erklären, was Java EE ist? Und EJB?
java
jakarta-ee
ejb
Frank Zimmer
quelle
quelle
Antworten:
Java EE ist in der Tat eine abstrakte Spezifikation. Jeder ist offen für die Entwicklung und Bereitstellung einer funktionierenden Implementierung der Spezifikation. Die konkreten Implementierungen sind die sogenannten Anwendungsserver wie WildFly , TomEE , GlassFish , Liberty , WebLogic usw. Es gibt auch Servlet-Container, die nur den JSP / Servlet-Teil der riesigen Java EE-API implementieren, wie z. B. Tomcat , Jetty , etc.
Wir, Java EE - Entwickler, sollte Code unter Verwendung die Spezifikation schreiben (dh importiert nur
javax.*
Klassen in unserem Code statt Implementierung spezifischer Klassen wieorg.jboss.wildfly.*
,com.sun.glassfish.*
etc) , und dann werden wir in der Lage sein , unseren Code auf jeder Implementierung laufen (also auf einem beliebigen Anwendungsserver). Wenn Sie mit JDBC vertraut sind, entspricht dies im Wesentlichen der Funktionsweise von JDBC-Treibern. Siehe auch ao Was ist eine Fabrik im einfachsten Sinne?Der Java EE SDK-Download von Oracle.com enthält im Wesentlichen den GlassFish-Server sowie eine Reihe von Dokumentationen und Beispielen und optional auch die NetBeans-IDE. Sie brauchen es nicht, wenn Sie einen anderen Server und / oder eine andere IDE möchten.
EJB ist Teil der Java EE-Spezifikation. Schauen Sie, es ist in der Java EE API . Vollwertige Java EE-Anwendungsserver unterstützen dies sofort, einfache JSP / Servlet-Container jedoch nicht.
Siehe auch:
Nein, wie gesagt, EJB ist Teil von Java EE. Spring ist ein eigenständiges Framework, das viele Teile von Java EE ersetzt und verbessert. Für Spring muss Java EE nicht unbedingt ausgeführt werden. Ein Bare-Bones-Servlet-Container wie Tomcat ist bereits ausreichend. Einfach ausgedrückt ist Spring ein Konkurrent von Java EE. ZB "Spring" (Standalone) konkurriert mit EJB / JTA, Spring MVC mit JSF / JAX-RS, Spring DI / IoC / AOP mit CDI, Spring Security mit JAAS / JASPIC usw.
Während der alten J2EE / EJB2-Zeiten war die Implementierung und Wartung der EJB2-API schrecklich. Der Frühling war dann eine viel bessere Alternative zu EJB2. Seit EJB3 (Java EE 5) wurde die EJB-API jedoch aufgrund der Lehren aus dem Frühjahr erheblich verbessert. Seit CDI (Java EE 6) gibt es keinen Grund mehr, ein anderes Framework wie Spring erneut zu betrachten, um den Entwicklern die Entwicklung unter anderem der Service-Schicht zu erleichtern.
Nur wenn Sie einen Bare-Bones-Servlet-Container wie Tomcat verwenden und nicht auf einen Java EE-Server wechseln können, ist Spring attraktiver, da Spring einfacher auf Tomcat installiert werden kann. Es ist nicht möglich, zB einen EJB-Container auf Tomcat zu installieren, ohne den Server selbst zu ändern. Sie würden TomEE grundsätzlich neu erfinden.
Siehe auch:
quelle
Java Enterprise Edition (Java EE) ist eine Dachspezifikation, die auf eine Reihe weiterer detaillierterer Spezifikationen verweist, von denen Enterprise JavaBeans (EJB) eine der wichtigsten ist.
Lesen Sie dies - es erklärt den Unterschied zwischen Java EE und Spring
Vielen Dank...
quelle
Quelle - Java 2 Platform, Enterprise Edition (J2EE) definiert den Standard für die Entwicklung komponentenbasierter mehrschichtiger Unternehmensanwendungen. J2EE vereinfacht das Erstellen von Unternehmensanwendungen, die portabel und skalierbar sind und sich problemlos in ältere Anwendungen und Daten integrieren lassen.
Quelle - Die Enterprise JavaBeans (EJB) -Technologie ist die serverseitige Komponentenarchitektur für Java Platform, Enterprise Edition (Java EE). Die EJB-Technologie ermöglicht die schnelle und vereinfachte Entwicklung verteilter, transaktionaler, sicherer und portabler Anwendungen auf Basis der Java-Technologie.
Java EE ist eine Spezifikation.
EJB ist eine serverseitige Komponentenarchitektur für Java EE
quelle
Einfach ausgedrückt - JavaEE ist eine Plattform.
Es besteht aus vielen Spezifikationen, die nur APIs sind. Die spezifischen konkreten Implementierungen dieser APIs sind die sogenannten "Referenzimplementierungen".
EJB ist Enterprise Java Beans
quelle