Spring MVC vs JSF [дубликат]


этот вопрос уже есть ответ здесь:

  • Разница между запросом MVC и компонентом MVC [закрыто] 1 ответ

Я использовал Struts framework во всех моих прошлых приложениях,а для нового приложения Мой клиент попросил использовать либо Spring MVC, либо JSF? Я не знаком с этими двумя рамками, но наши временные рамки строгий. Итак, я не уверен, какой фреймворк я выберу для создания приложения.

может ли кто-нибудь предложить мне, какие рамки будет легко узнать в кратчайшие сроки?

спасибо

5 65

5 ответов:

конечно, это будет по-разному для всех, но я бы предложил Spring MVC, поскольку это структура на основе запросов, такая как Struts. Конечно, вы захотите узнать о таких вещах core Spring, как инверсия инъекции управления / зависимости (но я бы счел это плюсом...) и что вы собираетесь использовать для доступа к базе данных (только с JDBC? Спящий режим? iBatis? так далее.).

JSF основан на компонентах,что немного отличается от парадигмы на основе запросов. Если вы планируете пойти маршрут JSF, я бы предложил посмотреть на шов от JBoss. Это скорее фреймворк от начала до конца, который использует JSF в качестве конца веб-презентации и EJB в качестве бэкэнда. И почти все люди, которые его использовали, утверждают, что он делает JSF и EJB более удобными, чем они сами по себе.

удачи на любой технологии вы выбираете, хотя. (Похоже, вам это понадобится - строгие временные рамки и клиент, который предписывает веб-фреймворки?)

Я бы предложил SpringMVC, из-за таймфрейма:

  • вам нужно что-то с менее крутой кривой обучения. SpringMVC больше похож на распорки, чем JSF
  • чтобы использовать силу JSF вам нужно ознакомиться со многими "трюками", в то время как SpringMVC более или менее прост

Я бы предложил библиотеку компонентов JSF + Primefaces. Я использую эту комбинацию, чтобы построить большинство наших проектов. Насколько я помню, я потратил одну неделю на изучение технологии и закончил свой первый проект за один месяц. Время разработки минимум на 30% быстрее, чем распорки.

SpringMVC-неплохая технология, и она довольно популярна.

действительно зависит от того, какой из них вам нравится больше всего.

конечно, вы захотите узнать о таких основных пружинных вещах, как инверсия инъекции управления / зависимости (но я бы счел это плюсом...)

JSF действительно основан на IoC и намного проще, чем кривая обучения Spring.

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

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

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

Spring MVC-это веб-фреймворк внутри пружинный каркас. Он предоставляет функции, как в JSF 2.0: поддержка AJAX утверждение зависимость-инъекция и т. д Тем не менее, вы можете использовать Spring (не Spring MVC) вместе с JSF 2.0, с spring, предоставляющей инъекцию зависимостей, AOP, механизмы управления транзакциями и JSF, предоставляющие веб-слой.