весна мвс против шва - PullRequest
       16

весна мвс против шва

5 голосов
/ 19 апреля 2010

Spring mvc - это фреймворк, который давно существует, это хорошо документированная и проверенная технология. Многие сайты используют весну.

Seam - это фреймворк, основанный на реализации jsf - richface. В нем много компонентов на основе AJAX. Он использует некоторые тяжелые вещи, такие как EJB, JPA. Все это подвержено ошибкам, и этот фреймворк очень медленный (на моем компьютере практически невозможно что-то разработать, потому что он действительно медленный, особенно повторное развертывание на jboss) Но это очень хорошо для приложений бэк-офиса.

Есть ли у кого-то профессиональный опыт работы с этими двумя фреймворками? Можете ли вы порекомендовать лучший? Почему?

Привет

Ответы [ 5 ]

7 голосов
/ 19 апреля 2010

Я использую оба: Spring-MVC (2.5) и Seam

Поскольку в Seam используется технология Java Server Faces (технология на стороне сервера), она закулисна лучше подходит для малых и средних приложений. (Каждое дерево представлений JSF хранится в сеансе - вы можете хранить его на стороне клиента, но помните о проблемах с пропускной способностью). Но у него есть некоторые преимущества:

Обычно веб-приложение использует следующий путь

view >> controller >> service >> domain

С помощью шва вы можете получить

view >> service >> domain

Или даже (с использованием шаблона посредника, предоставленного Seam Framework)

No controller, No service

view >> domain 

Кроме того,

  • JSF 2 поддерживает JSR 303 - проверка бинов
  • Вы можете использовать Wicket вместо JSF, если хотите
  • Поддержка управления разговорами и бизнес-процессами
  • Используйте можете использовать Spring DI, если хотите

Весна-MVC

Имеет мощную инфраструктуру веб-уровня

  • Отображение обработчика (выбирает, какой контроллер должен обрабатывать запрос)
  • View resolver (выбирает, какой View должен отображать ответ)
  • Может использоваться для больших приложений
  • Мощная привязка данных
  • Spring 3.0 поддерживает контроллер на основе аннотаций (JSR 303 - Bean Validation, скоро)

Но я все еще не использую Spring 3.0, потому что

  • Используя (и расширяя при необходимости) MultiActionController, я могу получить соглашение о конфигурации без настроек XML для определения вашего контроллера (вам просто нужно настроить MultiActionController как @Component)
  • SimpleFormController обеспечивает аналогичное поведение в контроллере на основе аннотаций Spring 3.0

...

О пути обучения, я думаю, что оба одинаковы.

1 голос
/ 26 апреля 2013

Я использовал SEAM и Spring MVC в течение нескольких месяцев.

Я предпочитаю Spring MVC SEAM. Кстати, я заметил, что JBoss остановил разработку SEAM3.

Я нашел интересную статью о сравнении SEAM и Spring MVC. Ссылка http://java.dzone.com/articles/why-java-ee-lost-and-spring?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+javalobby%2Ffrontpage+%28Javalobby+%2F+Java+Zone%29&utm_content=Google+Reader

Спасибо

1 голос
/ 30 июня 2011

Мы использовали Seam для очень большого сайта, использующего POJOS, и общались с веб-сервисами или Hibernate, развернутым на Tomcat. Мы обнаружили, что поддержка кнопки «Назад» не работает должным образом или имеет тенденцию быть специфичной для шаблонов реализации. Кроме того, существует тенденция к увеличению размера сеансов при использовании состояния на стороне сервера. Попытки уменьшить поддержку размера кнопки сеанса поддержки или использования фрейма из-за уменьшения количества состояний просмотра, сохраненных в сеансе. Более или менее наша проблема была связана с производительностью. Кот требует больше памяти и поддерживает меньше пользователей по сравнению со стойками 1.2 или пружинными mvc. Мы используем около 50 котов для поддержки нашей базы пользователей.

1 голос
/ 19 апреля 2010

Я профессионально работал с Seam, и это просто убийственный фреймворк. Это действительно повышает вашу производительность. Вы можете использовать POJOs вместо EJBs, если думаете, что EJBs замедляет вас. Что касается развертывания, просто рассмотрите возможность развертывания на Tomcat вместо JBoss. На моей машине переназначение в Tomcat делается за пару секунд. Но я до сих пор не использовал Spring MVC для их сравнения.

0 голосов
/ 17 ноября 2014

Я использовал платформы Seam 3 и Spring 3. В то время как Seam 3 проще в написании кода и имеет множество функций, поддерживающих управление сеансами и транзакциями, производительность медленная. Весна намного быстрее.

...