Что такое Java EE?
Я занимаюсь Java SE уже несколько лет и перехожу к Java EE. Однако у меня есть некоторые проблемы с пониманием некоторых аспектов Java EE.
Java EE - это просто спецификация? Что я имею в виду: EJB Java EE?
Являются ли EJB/Spring различными реализациями Java EE?
Прошу прощения, но у меня есть некоторые трудности, чтобы понять, что такое Java EE. Может кто-нибудь объяснить, что такое Java EE? А EJB?
6 ответов
Java EE - это просто спецификация? Что я имею в виду: EJB Java EE?
Java EE действительно абстрактная спецификация. Любой желающий может разработать и предоставить рабочую реализацию спецификации. Конкретными реализациями являются так называемые серверы приложений, такие как WildFly, TomEE, GlassFish, Liberty, WebLogic и т. Д. Есть также контейнеры сервлетов, которые реализуют только часть JSP/Servlet огромного API Java EE, такие как 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 - нет.
Смотрите также:
- Где я могу найти список всех эталонных реализаций для Java EE 6?
- Веб-разработка на Java EE, с чего мне начать и какие навыки мне нужны?
- Что нужно узнать для создания веб-приложений на Java в Java EE 6?
Являются ли 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 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?
Java EE - это спецификация.
EJB - это серверная компонентная архитектура для Java EE
Являются ли EJB/Spring различными реализациями Java EE?
- И EJB, и Spring - разные фреймворки, следующие Java EE.
J2EE / JEE / Jakarta EE
- Java Enterprise Edition (JEE) используется для разработки распределенных приложений и веб-сервисов.
- Это компонентный подход к разработке веб-приложений.
- Веб-приложения JEE считаются трехуровневыми приложениями, поскольку они разделены на 3
разных компьютера / уровня.- Клиент (презентация)
- J2EE-сервер (приложение / бизнес)
- База данных (доступ к данным)
Все, что вам нужно знать о Java EE, можно найти, в частности, на официальном веб-сайте @ Oracle . Вам также может быть интересно прочитать спецификацию API для версии 8 . Стоит потратить время на изучение учебника по Java EE 8 . Возможно, вы захотите начать именно с него, потому что он дает очень хороший обзор всей платформы.
Проще говоря - JavaEE - это платформа.
Он состоит из множества спецификаций, которые являются просто API. Конкретные конкретные реализации этих API-интерфейсов - это так называемая "ссылочная реализация".
- EJB - это всего лишь одна спецификация в платформе JavaEE
- Нет, Spring - это инфраструктура приложений, которая может позволить вам иметь поддержку разработки приложений JavaEE.
EJB - это корпоративный Java-бин