Что такое Java EE? - PullRequest
       54

Что такое Java EE?

142 голосов
/ 03 сентября 2011

Я занимаюсь Java SE уже несколько лет и перехожу к Java EE.Однако у меня возникли проблемы с пониманием некоторых аспектов Java EE.

  1. Является ли Java EE просто спецификацией?Что я имею в виду: EJB Java EE?

  2. Являются ли EJB / Spring различными реализациями Java EE?

Прошу прощения, но у меня есть некоторые трудности, чтобы понять, что такое Java EE,

Может кто-нибудь объяснить, что такое Java EE?А EJB?

Ответы [ 4 ]

163 голосов
/ 04 сентября 2011

Является ли 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. Смотрите также Проще говоря, что такое фабрика?

Java EE SDK , загружаемый с Oracle.com, содержит в основном сервер GlassFish вместе с кучей документации и примеров, а также, по желанию, IDE NetBeans. Вам это не нужно, если вам нужен другой сервер и / или IDE.

EJB является частью спецификации Java EE. Смотри, это в Java EE API . Полноценные серверы приложений Java EE поддерживают его "из коробки", а простые контейнеры JSP / Servlet - нет.

Смотри также:


Являются ли 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 становится более привлекательным, так как проще установить Spring на Tomcat. Невозможно установить, например, EJB-контейнер Tomcat без изменения самого сервера, вы, по сути, будете заново изобретать TomEE.

Смотри также:

11 голосов
/ 03 сентября 2011

Java Enterprise Edition (Java EE) - это общая спецификация, которая ссылается на ряд других более подробных спецификаций, среди которых Enterprise JavaBeans (EJB) является одной из наиболее важных.

Read this - объясняет разницу между Java EE и Spring

Спасибо ...

4 голосов
/ 03 сентября 2011
  • Источник - Платформа Java 2, Enterprise Edition (J2EE) определяет стандарт для разработки многоуровневых корпоративных приложений на основе компонентов.J2EE упрощает создание корпоративных приложений, которые являются переносимыми, масштабируемыми и которые легко интегрируются с устаревшими приложениями и данными.

  • Source - технология 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.
0 голосов
/ 06 сентября 2015

Проще говоря - JavaEE - это платформа.

Он состоит из множества спецификаций, которые являются просто API.Конкретными конкретными реализациями этих API-интерфейсов являются так называемые «эталонные реализации»

  1. EJB - это всего лишь одна спецификация на платформе JavaEE
  2. Нет, Spring - это прикладная среда, которая может позволить вам/ имеет поддержку для разработки приложений JavaEE

EJB - это корпоративный Java Beans

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...