2013-09-29 1 views
37

Теперь я читаю «Начало Java EE 7». И мне было интересно, что Java EE 7 - хороший набор технологий, он включает в себя CDI, проверку валиков, JSF для веб-уровня и другие спецификации.Spring vs Java EE 7

У меня возник вопрос:
Почему я должен изучать Spring framework, если существует Java EE 7 и охватывает все возможности, которые использует Spring?

+4

Конечно, одно лучше, чем другое, потому что вы схватили книгу об этом * сначала *. –

ответ

30

Я расскажу немного о том, что знаю об использовании Spring. Вы правы, говоря, что Java EE 7 имеет все технологии, помогающие решить проблемы.

Well Spring просто усиливает эти возможности и облегчает жизнь разработчику.

В качестве примера, когда вы используете Spring MVC framework, вы можете использовать теги Spring UI для создания JSP, и те теги, в свою очередь, помогут вам сопоставить значения непосредственно с вашим контроллером. Под контроллером я подразумеваю класс Java, который вызывается при создании submit. Он также помогает вам проверять данные формы.

Это может быть достигнуто с использованием технологии Servlet, но Spring позволяет сосредоточиться на бизнес-логике, и это позаботится об этом.

В моем опыте работы в качестве разработчика полезно знать и понимать Java EE 7, но в таких средах, как Spring, используются некоторые из лучших практик и шаблонов, которые облегчают жизнь разработчикам.

Хотелось бы услышать мнения других.

Надеюсь, это поможет.

+9

Вообще-то я не думаю, что простой JSP больше должен использоваться для визуализации пользовательского интерфейса. Если вы используете JSF, то это будет достигнуто, как вы описали Spring для сопоставления значений с резервными объектами. Например. Когда вы используете проверку bean-компонентов, JSF автоматически сообщит вам об ошибках проверки (протестировано с помощью PrimeFaces. Не нужно обрабатывать какие-либо параметры с контроллерами, если явно не требуется). Вы также можете отображать объекты (JPA) непосредственно в пользовательский интерфейс с JSF. Кажется, JavaEE7 может быть немного сложнее, чем Spring, но для меня это кажется более надежным и может быть немного более удобным в конце. –

+1

Я думаю, что кто-то поддерживает достоинства рамки, которая * помогает * вы пишете в десятилетних старых «ориентированных на действие» фреймворках, таких как JSP, действительно, нужно переанализировать свой стек технологий. «Компонентные ориентированные» фреймворки, такие как Wicket, JSF, Tapestry, действительно очень зрелы и потрясают вашу производительность. Я не могу говорить за других, но Wicket обрабатывает все материалы Web 2/AJAX прозрачным способом (если вы этого хотите), но все же позволяет вам взломать JS, если вы так склонны. Я нахожу, что мне редко приходится возвращаться к JS - или, как мне нравится называть его «Язык веб-ассемблера» – Volksman

+0

Согласен, его пример плох. Когда я прочитал JSP, я содрогнулся. Но я использую Spring и долгое время. Нет никакой причины использовать JSP. Вы МОЖЕТЕ, если хотите, но не должны. Существует множество привязок к различным интерфейсам, таким как JSF, Velocity, Thymeleaf, Freemarker, Wicket и т. Д. Они не заставляют вас никуда идти. –

18

Я думаю, что просто нужно знать их обоих. Spring имеет огромное сообщество и широко используется, но Java EE также идет вперед, используя множество технологий, которые весной находятся в последних версиях.

Однако неверно говорить, что Java EE охватывает все поля, которые делает Spring. На мой взгляд, у Spring все еще есть что-то, что может иметь значение, если вы работаете в определенных доменах, таких как мобильные (Spring mobile), социальные (Spring social), управление потоками навигации (Spring Webflow) и другие.

+0

Опять же, неправда. У JEE есть много вещей, которые не присутствуют весной и, похоже, не в ближайшем будущем. Правильные механизмы событий, структура представлений (у Spring нет современной технологии просмотра для интеграции с, возможно, Thymeleaf). Весеннюю социальную жизнь можно легко избить Агорава: http://www.agorava.org/. То же самое касается безопасности и других проектов. Обратите внимание, что JEE имеет механизм расширения, и разработчики больше не обязаны вносить свой вклад в проект, контролируемый одной компанией. Даже Spring Data теперь доступен как плагин CDI, но у нас есть намного лучший проект под названием Apache Deltaspike. –

 Смежные вопросы

  • Нет связанных вопросов^_^