Чи є Java EE лише специфікацією? Що я маю на увазі: Є EJB Java EE?
Java EE - це справді абстрактна специфікація. Будь-хто відкритий для розробки та забезпечення ефективної реалізації специфікації. У конкретних реалізаціях є так звані сервери додатків, як WildFly , TomEE , GlassFish , Свободи , WebLogic і т.д. Є також контейнери сервлетів , які реалізують тільки JSP / Servlet частина величезного Java EE API, такі як Tomcat , Jetty , тощо.
Ми, розробники Java EE, повинні писати код, використовуючи специфікацію (тобто імпортувати лише javax.*
класи в нашому коді замість конкретних класів, таких як org.jboss.wildfly.*
, com.sun.glassfish.*
і т.д.), і тоді ми зможемо запустити наш код на будь-якій реалізації (таким чином, на будь-якій сервер додатків). Якщо ви знайомі з JDBC, це в основному та сама концепція, як і роботу драйверів JDBC. Див. Також ао Найпростіше кажучи, що таке фабрика?
Завантажити SDK Java EE SDK з Oracle.com містить в основному сервер GlassFish разом з рядом документації та прикладів, а також, можливо, і IDB NetBeans. Він вам не потрібен, якщо вам потрібен інший сервер та / або IDE.
EJB є частиною специфікації Java EE. Подивіться, це в API Java EE . Повноцінні сервери додатків Java EE підтримують це у вікні, але прості JSP / сервлетські контейнери цього не роблять.
Дивитися також:
Чи є різними реалізаціями Java EE EJB / Spring?
Ні, як було сказано, EJB є частиною Java EE. Spring - це окрема структура, яка замінює та покращує багато частин Java EE. Весна не обов'язково вимагає запуску Java EE. Ємність з голими кістками з серветками, як Tomcat, вже достатня. Простіше кажучи, Spring є конкурентом Java EE. Наприклад, "Весна" (окрема) конкурує EJB / JTA, Spring MVC конкурує JSF / JAX-RS, Spring DI / IoC / AOP конкурує з CDI, Spring Security конкурує JAAS / JASPIC тощо.
Ще за часів J2EE / EJB2 API EJB2 було жахливо впроваджувати та підтримувати. Тоді весна була набагато кращою альтернативою EJB2. Але оскільки EJB3 (Java EE 5), API EJB значно покращився на основі уроків, отриманих з Spring. Оскільки CDI (Java EE 6), насправді немає причини шукати знову інший фреймворк, як Spring, щоб зробити розробників простішими в розробці серед іншого рівня обслуговування.
Тільки коли ви використовуєте контейнер з серветками з голими кістками, наприклад Tomcat і не можете перейти на сервер Java EE, тоді Spring є більш привабливим, оскільки простіше встановити Spring на Tomcat. Неможливо встановити, наприклад, контейнер EJB на Tomcat, не змінюючи сам сервер, ви в основному будете винаходити TomEE.
Дивитися також: