2010-01-25 3 views
10

Я не использовал весну, но звучит так, как будто она довольно популярна. Я слышал, что он предоставляет альтернативные способы делать вещи, такие как возможность использования веб-сервисов RESTful. Кто-нибудь знает, предоставляет ли аналогичные функции, такие как JSF 2, или я буду сравнивать яблоки с апельсинами?Весна по сравнению с JSF 2

Edit:

Спасибо за информацию. Сравнивая Spring MVC с JSF 2, будут ли преимущества использования Spring MVC вместо JSF 2?

Спасибо.

+3

Вы действительно хотите сравнить «Spring MVC с JSF 2», а не «Весна с JSF». – BalusC

ответ

16

Яблоки в апельсинах.

Spring - это инфраструктура приложения, которая интегрирует инъекцию зависимостей, аспект ориентированную программирование и несколько других вещей в один стек. Его грубыми яблоками для сравнения яблок будет J2EE.

JSF - это технология уровня обзора, построенная на парадигме модели Model View Controller. Его грубые апельсины для сравнения апельсинов были бы Spring MVC. Оба могут использовать различные технологии просмотра (т. Е. Facelets, JSP, Velocity и т. Д.) И оба очень хорошо интегрируются в соответствующие стеки.

- В ответ на новый вопрос -

я использовал JSF2 изрядное количество (столько, сколько каждый может учитывая его молодой возраст), и я считаю, что это очень хорошая основа. Он исправляет множество недостатков JSF 1.2, и я чувствовал, что JSF 1.2 подходит для меня тоже.

У меня есть не Используется Spring MVC много, но я просмотрел код, который сделал другой разработчик.

Мой (очень) ограниченный опыт заключается в том, что Spring MVC чувствует себя немного скорее как «действие», в то время как JSF больше похожа на «компонентную» структуру. Я, персонали, считаю, что компоненты-esque framework являются более естественным расширением OOD, которое обращается ко мне и к тому, как я пишу программное обеспечение.

+0

Отлично, спасибо за ввод. –

4

Spring MVC - это веб-каркас внутри весеннего каркаса. Он действительно обеспечивает функции, как те, в JSF 2.0:

  • Ajax-поддержка
  • проверки
  • зависимость инъекции
  • т.д.

Тем не менее, вы можете использовать Spring (не Spring MVC) вместе с JSF 2.0, с пружиной, обеспечивающей механизмы впрыска зависимостей, aop, механизмы управления транзакциями и JSF, обеспечивающие веб-уровень.

+0

У вас есть хорошая ссылка, описывающая эту настройку? – rustyx

+0

Ищите приложение для пикника. Или парниковый. – Bozho

+0

В чем преимущества использования Spring с JSF? – Shekhar

2

JSF - это только слой с видом MVC и должен использоваться с другими технологиями, такими как Spring/Hibernate или EJB для полного MVC.

Spring (не Spring MVC) - это уровень контроллера MVC, и, как я могу сказать, можно использовать что-то вроде JSF (Struts, JSP/Servlets и т. Д.) И что-то вроде Hibernate.

Я использую Spring MVC около 6 месяцев, хотя это, вероятно, не самая латентная версия SpringMVC, мне было немного досадно, что у нас так много XML. Все управляемые компоненты и DAO имеют XML-конфигурацию. Кроме того, все, похоже, должно пройти метод, называемыйSubmit().

JSF с чем-то вроде EJB гораздо проще, по-моему ... Все может быть сделано с помощью аннотаций так просто использовать @ ManagedBean = theBean в вашем бэк-боба и в вашем JSF положить {thebean.param} и у вас есть доступ к данным бэк-файла. Также вы можете использовать Session bean-элементы вашего EJB в качестве бэкэнда для JSF, а затем иметь прямой доступ к компоненту Entity компонента DAO (Model layer). Снова просто с помощью аннотации @Entity и класса EntityManager

Также мне нравится, как вы можете устанавливать свои собственные методы действий, чтобы вы могли иметь метод в своем bean-компоненте под названием TheBean.addDetails() и называть его JSF с Bean.addDetails(), а не все, проходя через один метод, как с Spring MVC.

JSF, как я уже сказал, это просто уровень представления MVC, лично мне нравится использовать его с EJB, так как это дает вам полный MVC из Suns J2EE.jar, поэтому нет проблем с тем, чтобы убедиться, что у вас есть правильные версии и никакой конфигурации не требуется.

JSF 2.0 намного превосходит JSF1.2, который всегда ощущал половину работы, как и EJB3.1, что ничем не отличается от EJB2.x и намного лучше, чем EJB3.0. Для меня JSF2.0 с EJB3.1 настолько прост и прост в разработке, и все очень прозрачно.

+2

Я не согласен с тем, что JSF является «просто слоем представления». Он может использоваться как автономное приложение MVC как хорошее. Однако верно, что JSF часто используется как середина «M (MVC) C». Я сам, кстати, не считаю Spring контроллером, а как инжектор. Но я не знаю Весны, что хорошо публиковать явный ответ об этом. – BalusC

+0

Интересно, спасибо за информацию. Да, я много наслаждался JSF 2, но мне любопытно, что еще там.С JSF 2 у вас может быть JSF в первую очередь на уровне представления, но код модели и контроллера может прокрасться также в ... –

+1

То, что Spring MVC требует много XML, неточно после введения версии 2.5 на основе аннотаций. –

1

Я работал с JSF 1.2 + JSF managedbeans в течение 2 лет, и теперь я начал переходить на JSF2.0. Узнав о Spring и Spring MVC, я чувствую, что JSF (1.2 или 2.0) + Spring (сервис, а не MVC) + Hibernate будет очень хорошей архитектурой.

0

JSF2 может использоваться как бэкэнд и как интерфейс, а также имеет более быструю инъекцию впрыска, навигацию и проверку, чем Spring MVC.

Весна сама по себе может использоваться как каркас предприятия вместо EJB3.1/EJB3.1 лучше /, но поскольку интерфейс JSF2 с интерфейсом не имеет альтернатив.

1

Одна из худших составляющих конфигураций Spring Billions, даже в Spring3, вы должны иметь конфигурационные файлы ... Например, у вас есть веб-сервис SOAP и вы хотите интегрировать Spring в качестве backend .. и вы можете найти то, что вы не можете добавить Spring бобы в обычном веб-сервисе .. и вы также должны изменить свои сервисы на Spring SOAP ..... Spring3 использовал аннотации, но вы каждый раз раздражаетесь, чтобы угадать, какую аннотацию использовать для открытия или закрытия некоторых сервисов .... Вместо этого вы можете иметь только EJB3.1, который является мощным, простым и как разработчик Java, вы можете просто наслаждаться этим. Я заметил, что многие поклонники Весны больше не знают EJB3, зачем им нравится Весна :)))

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