Spring MVC vs JSF [дубликат]
этот вопрос уже есть ответ здесь:
- Разница между запросом MVC и компонентом MVC [закрыто] 1 ответ
Я использовал Struts framework во всех моих прошлых приложениях,а для нового приложения Мой клиент попросил использовать либо Spring MVC, либо JSF? Я не знаком с этими двумя рамками, но наши временные рамки строгий. Итак, я не уверен, какой фреймворк я выберу для создания приложения.
может ли кто-нибудь предложить мне, какие рамки будет легко узнать в кратчайшие сроки?
спасибо
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, предоставляющие веб-слой.