Я занимаюсь Java SE уже несколько лет и перехожу к Java EE. Однако у меня возникли проблемы с пониманием некоторых аспектов Java EE.
Java EE - это просто спецификация? Я имею в виду: EJB Java EE?
Являются ли EJB / Spring различными реализациями Java EE?
Прошу прощения, но у меня есть некоторые трудности, чтобы понять, что такое Java EE.
Может кто-нибудь объяснить, что такое Java EE? А EJB?
java
jakarta-ee
ejb
Фрэнк Циммер
источник
источник
Ответы:
Java EE действительно абстрактная спецификация. Любой желающий может разработать и предоставить рабочую реализацию спецификации. В конкретных реализациях являются так называемые серверы приложений, как WildFly , TomEE , GlassFish , Свободы , WebLogic и т.д. Есть также контейнеры сервлетов , которые реализуют только JSP / Servlet часть огромного Java EE API, такие как Tomcat , Jetty , и т.п.
Мы, разработчики Java EE, следует писать код , использующий спецификацию (т.е. импортировать только
javax.*
классы в нашем коде вместо конкретной реализации классов , таких какorg.jboss.wildfly.*
,com.sun.glassfish.*
и т.д.) , и тогда мы сможем запустить наш код на любой реализации (таким образом, на любой сервер приложений). Если вы знакомы с JDBC, это в основном та же концепция, что и как работают драйверы JDBC. Смотри также ao. Проще говоря, что такое фабрика?Загрузки Java EE SDK от Oracle.com содержит в основном на GlassFish сервер вместе кучу документации и примеров и , возможно , также в среде IDE NetBeans. Вам это не нужно, если вы хотите другой сервер и / или IDE.
EJB является частью спецификации Java EE. Смотри, это в API Java EE . Полноценные серверы приложений Java EE поддерживают его "из коробки", а простые контейнеры JSP / Servlet - нет.
Смотрите также:
Нет, как уже говорилось, 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 API EJB2 было ужасно реализовать и поддерживать. Spring был тогда намного лучшей альтернативой EJB2. Но начиная с EJB3 (Java EE 5), EJB API был значительно улучшен на основе уроков, извлеченных из Spring. Начиная с CDI (Java EE 6), на самом деле нет причин снова рассматривать другую инфраструктуру, такую как Spring, чтобы упростить разработчикам разработку, среди прочего, уровня обслуживания.
Только когда вы используете пустой контейнер сервлетов, такой как Tomcat, и не можете перейти на сервер Java EE, Spring становится более привлекательным, поскольку его проще установить на Tomcat. Невозможно установить, например, контейнер EJB на Tomcat без изменения самого сервера, вы, по сути, будете заново изобретать TomEE.
Смотрите также:
источник
Java Enterprise Edition (Java EE) - это общая спецификация, которая ссылается на ряд других более подробных спецификаций, среди которых Enterprise JavaBeans (EJB) является одной из наиболее важных.
Прочитайте это - это объясняет разницу между Java EE и Spring
Спасибо...
источник
Источник - Java 2 Platform, Enterprise Edition (J2EE) определяет стандарт для разработки многоуровневых корпоративных приложений на основе компонентов. J2EE упрощает создание корпоративных приложений, которые являются переносимыми, масштабируемыми и которые легко интегрируются с устаревшими приложениями и данными.
Источник - технология Enterprise JavaBeans (EJB) - это серверная компонентная архитектура для платформы Java Enterprise Edition (Java EE). Технология EJB обеспечивает быструю и упрощенную разработку распределенных, транзакционных, безопасных и переносимых приложений на основе технологии Java.
Java EE - это спецификация.
EJB - это серверная компонентная архитектура для Java EE
источник
Проще говоря - JavaEE - это платформа.
Он состоит из множества спецификаций, которые являются просто API. Конкретные конкретные реализации этих API-интерфейсов - это так называемая «ссылочная реализация».
EJB - это Enterprise Java Beans
источник