Со временем JavaEE действительно догнал с точки зрения возможностей.
Но один из факторов, с которым я сталкивался много раз, это главная причина, по которой я долгое время предпочитал весну - JavaEEсерверы и реализации содержат ошибки и недружественные разработчикам.Это может звучать как бессмысленное, но даже лучший из JavaEE 6 - CDI (Weld impl) имеет загадочные сообщения об исключениях и доставляет разработчикам трудные времена ( см. Здесь ).Не говоря уже о серверах приложений - полных по-настоящему ужасных ошибок (мне удалось найти около 5 ошибок за 3 часа работы с JBoss 5)
Еще одна вещь, которая делает Spring более привлекательной для меня, это то, что функции можно добавлять небольшимивременные рамки.Как я отмечал в своем комментарии, абстракция унифицированного кэша и обработка разговоров будут добавлены в следующем выпуске весны, через пару месяцев после предыдущей версии.В JavaEE вам придется ждать много времени (по крайней мере, для стандартного решения)
Но с JavaEE это не так уж и плохо.Многие из проблем имеют обходные пути или решаются своевременно.И, в конечном счете, это вопрос личных предпочтений.
Кстати, в то же время портфолио Spring было заполнено побочными проектами, которые добавляют множество специфических функций / наборов функций.Обратите внимание, что многие из них можно использовать и с JavaEE, но они идеально подходят для пружин:
- пружинная безопасность - декларативная безопасность
- spring roo - инструмент для быстрой начальной загрузкипроекты
- Spring Web Flow - платформа MVC для работы с любителями волшебства.
- Данные Spring - все еще новые, нацеленные на объединение доступа к магазинам NoSQL
- Spring Mobile - переносspring для мобильных платформ
- spring social - набор инструментов для взаимодействия с социальными сетями
Это просто дополнительные функции, и JavaEE также имеет дополнительные функции, но они более универсальны (насколько я вижу картину), кроме Seam, который специально нацелен на предоставление того, что пропускает CDI.
Одно очень важное замечание, с которым нужно заключить.Сравнение весны с JavaEE некорректно.Я бы предпочел сравнить Spring с сервером приложений CDI + EJB +.Остальная часть JavaEE может использоваться вместе с Spring, и это часто так.JAX-WS, JAXB, даже JSF прекрасно подходят для пружины и часто используются.