LINUX.ORG.RU

Вышел релиз фреймворка Spring 3.0

 ,


0

0

Основновые нововведения:

  • Spring expression language (SpEL): входящий в ядро парсер выражений, используемых в определениях бинов, позволяющий обращаться как к значениям вложенных бинов, так и к структурам окружения (таким, как значения системных свойств (property) через общепринятый синтаксис #{…} .
  • Расширена поддержка для компонентов, основанных на аннотациях: добавлены классы конфигурирования и аннотированые фабричные методы (по образу и подобию Spring JavaConfig). Теперь Spring позволяет осуществлять внедрение конфигурации через выражение @Value раскрывающееся через вычисляемое в рантайм #{…} или статическое ${…} выражение.
  • Выразительная модель включения типов позволяет создавать мета-аннотации для установки пользовательским типам области видимости и других характеристик. Скажем, пользовательская аннотация @MyService включает @Service, @Scope(«request») и @Transactional(readOnly=true) сразу.
  • Стандартизированное внедерение зависимостей. Spring 3.0 полностью поддерживает спецификацию JSR-330 на внедрение зависимостей - внедрение через аннотации @Inject с соответствующими моделями квалификаторов и поставщиков, - как альтернативу собственной модели внедрений через @Autowired и т.п.
  • Декларативная модель проверки на основе аннотаций-ограничений: настройка в стиле Spring поставщика JSR-303 Bean Validation (такого же как Hibernate Validator 4.0). Включает возможность проверки через аннотации в Spring MVC и предоставляет единый способ для определения ограничений на биндинг к Spring'у.
  • Улучшен биндинг и форматирование через аннотации: добавлены Converter и Formatter SPI как альтернатива стандартному PropertyEditor. Форматированием можно управлять аннотациями в стиле проверок JSR-303, к примеру используя @DateTimeFormat. Обратите внимание на новое пространство имен в Spring MVC для настройки форматирования и проверок.
  • Современная поддержка REST средствами самого Spring MVC - отображение адресов запросов в стиле REST, получение значений URI через параметр @PathVariable и подбор решения в зависимости от содержимого переговоров. Поддержка REST на стороне клиента возможна с помощью класса RestTemplate.
  • Встроенная богатая поддрежка Portlet 2.0: Spring MVC полностью поддерживает окружение, события и схему запроса ресурсов Portlet 2.0. Включая специальные возможности отображения для типовых характеристик запроса портлетов: @ActionMapping, @RenderMapping, @ResourceMapping, @EventMapping.
  • Отображение в Object/XML (OXM) ранее известное как часть Spring Web Services теперь стало частью ядра. Искаропки поддерживаются маршаллинг и анмаршаллинг JAXB 2, Castor и т.п. Возможна итеграция с XML в Spring MVC и Spring JMS.
  • Возможности шедулинга следующего поколения: механизмы TaskScheduler и Trigger с поддержкой cron'а. Spring 3.0 идет с пространстовм имен для управления задачами и поддерживает аннотации @Async и @Scheduled, которые могут быть выполенны через пул «родных» или управляемых сервером нитей .

Помимо этих основных изменений есть сотни улучшений в мелочах, которые вы, вероятно, оцените, когад будете апгрейдиться с Spring 2.5. Смотрите ченджлог и явадоки.

По части системных требований Spring 3.0 укладывается в широкий диапазон окружений. Два ключевых требования - поддержка Java SE 5 и Servlet 2.4 (и выше). Подйдут Tomcat 5.x и 6.x, хотя сохранена совместимость с WebSphere 6.1 и WebLogic 9.2 (которые формально всё еще основаны на J2EE 1.4). В тоже время мы уже поддерживаем GlassFish v3, адаптируя Spring к API Java EE 6.

Короче, Spring 3 предоставляет новые возможности компонентной модели и такие стандарты, как внедрения SR-330 и проверки JSR-303 для стабильного производственного окружения без необходимости апгрейдить сервера. Всё что нужно - обновить библиотеки вашего приложения до Spring 3.0.

>>> Подробности

★★★★★

Проверено: maxcom ()

на lor уже стоит. Попробовал заюзать restful-адреса, наступил на грабли. Но идея хороша

maxcom ★★★★★ ()
Ответ на: комментарий от maxcom

Под конец закрались опечатки, поправьте пожалуста.

X10Dead ★★★★★ ()

Я так понимаю, лоровские джависты про спринг и не слышали, они только хелоуворды на свинге пишут и флеймят на тему «Java vs C#». Новость осталась без внимания.

anonymous ()

что только люди не делают, чтобы не учить java ee

anonymous ()

Недавно начал это дело изучать, возникло чувство, как будто пытаешься объять необъятное. Посоветуйте что ли книгу какую-нибудь хорошую.

CARS ★★★★ ()

что только люди не делают, чтобы не ocaml

Manhattan ()
Ответ на: комментарий от CARS

+100500

Книгу желательно для IQ < 200 и на русском.

anonymous ()
Ответ на: комментарий от CARS

Недавно начал это дело изучать, возникло чувство, как будто пытаешься объять необъятное. Посоветуйте что ли книгу какую-нибудь хорошую.


Spring in action. хотя с выходом 3.0 наверное стоит подождать нового издания.

gigabito ()
Ответ на: комментарий от anonymous

Я так понимаю, лоровские джависты про спринг и не слышали, они только хелоуворды на свинге пишут и флеймят на тему «Java vs C#». Новость осталась без внимания.


ошибаетесь. не всех еще перебанили )

gigabito ()
Ответ на: комментарий от CARS

Недавно начал это дело изучать, возникло чувство, как будто пытаешься объять необъятное. Посоветуйте что ли книгу какую-нибудь хорошую.


http://tinyurl.com/yc865lt

Manhattan ()
Ответ на: комментарий от CARS

> Недавно начал это дело изучать, возникло чувство, как будто пытаешься объять необъятное. Посоветуйте что ли книгу какую-нибудь хорошую.

«J2EE Programming without EJB» by Rod Johnson - основополагающий трактат. А дальше по офф. документации, она у Spring очень хорошая.

Bohtvaroh ★★★★ ()

Чего только люди не делают, только бы не брать Python и хотя бы Django.

andyTon ()

spring 3 - нужен

anonymous ()

Спринг ненужен. Все можно написать и без него. Вот все орут про то что Спринг легкая альтернатива ЕЖБ. А эти люди ЕЖБ то вообще видели?

Я даже скажу больше - спринг испортил жава программистов. Они суют его куда надо и куда ненадо. Изза этого куска дерьма городятся тонны ненужных наслоений. Если кому и нужен ИОЦ контейнер - так пускай возьмут чтото легковесное. пико/микро контейнер тот же не вчера придуман. Быдлокодеры то спринг восновном выбирают не потому что там какаято идеология бла бла с зависимости, они даже не понимают что это такое, их подкупает большое количество каких то утилитных классов и готовых кодеекзамплов.

anonymous ()
Ответ на: комментарий от andyTon

>Чего только люди не делают, только бы не брать Python и хотя бы Django.

+1

anonymous ()

Кстати, новость если не протухший боян, то уже изрядно подвонявший. Уже как два дня зарезился. А на ЛОРе только только новость запостили. Зато про все высеры от Микрософт (Мунлайт, Моно, Венда) чуть ли не с сикундной задержкой постят. Да... Этот форум своей неоднозначностью и тематической направленостью никогда не переставал удивлять...

anonymous ()
Ответ на: комментарий от andyTon

> Чего только люди не делают, только бы не брать Python и хотя бы Django.

Идите в опу, молодой человек, на вашей джанге-**янге работы вообще нет! Сравнивают жопу с пальцем, пионерия мля...

Bohtvaroh ★★★★ ()
Ответ на: комментарий от anonymous

> Если кому и нужен ИОЦ контейнер - так пускай возьмут чтото легковесное.

Спринг - модульный. Можно заюзать только IoC контэйнер. Но если тебе так нравится, пиши дальше свои чудо EJB. :D

Bohtvaroh ★★★★ ()
Ответ на: комментарий от anonymous

>Я даже скажу больше - спринг испортил жава программистов. Они суют его куда надо и куда ненадо. Изза этого куска дерьма городятся тонны ненужных наслоений. Если кому и нужен ИОЦ контейнер - так пускай возьмут чтото легковесное. пико/микро контейнер тот же не вчера придуман. Быдлокодеры то спринг восновном выбирают не потому что там какаято идеология бла бла с зависимости, они даже не понимают что это такое, их подкупает большое количество каких то утилитных классов и готовых кодеекзамплов.

слишком толсто

anonymous ()
Ответ на: комментарий от Bohtvaroh

>Можно заюзать только IoC контэйнер

А нужно ли?

anonymous ()

о Spring.NET 1.3.0 молчим в тряпку ;-)

hizel ★★★★★ ()
Ответ на: комментарий от hizel

>о Spring.NET 1.3.0 молчим в тряпку ;-)

дотнетчики не сильно по этому поводу и заморачиваются то. Им что партия на красочных картинках нарисовала, то они и пользуют молча, в тряпочку. Зато с каким пафосом они расхваливают свои поделки!! Любой жавабыдлоговно кодер на их фоне ничто.

anonymous ()

Ну что ж, посмотрим, попробуем, а дальше видно будет.

eternity ()
Ответ на: комментарий от Bohtvaroh

>на вашей джанге-**янге работы вообще нет

Ошибаешься, сынок :) Ничего - это у тебя просто комплексы.

// crayfish employment

anonymous ()
Ответ на: комментарий от anonymous

Понятно, что она есть (работа). Просто не везде и мало. А по сравнению с жабой, то можно сказать, что нет.

Bohtvaroh ★★★★ ()

>Помимо этих основных изменений есть сотни улучшений в мелочах, которые вы, вероятно, оцените, когад будете апгрейдиться с Spring 2.5. Смотрите ченджлог и явадоки.

угу, тока в Ынтырпрайз проектах это будет года через 2 наверное

Tails ()
Ответ на: комментарий от Bohtvaroh

>Понятно, что она есть (работа). Просто не везде и мало. А по сравнению с жабой, то можно сказать, что нет.

Работы много, были бы руки и моск. Надо уметь искать. И иметь руки и моск. А главное - она приносит удовольствие, в отличие от, ну ты знаешь.

WTF? Гугл не в курсе.

Смешно, это мне капча такая выдалась :)

anonymous ()
Ответ на: комментарий от anonymous

>>Чего только люди не делают, только бы не брать Python и хотя бы Django.

+1


А GIL в Python-e то уже убрали? ;-)))

Manhattan ()
Ответ на: комментарий от anonymous

Он думал, что это очередная джавовская технология, фреймворк или другая неведомая х??ня.

anonymous ()
Ответ на: комментарий от anonymous

> Он думал, что это очередная джавовская технология, фреймворк или другая неведомая х??ня.

Ага, рекрутинговая компания на Sprint.Python 0.0.1 ... -)

Manhattan ()
Ответ на: комментарий от anonymous

до выхода EJB 3 , спринг еще комуто был нужен...

wfrr ★★☆ ()
Ответ на: комментарий от maxcom

> на lor уже стоит. Попробовал заюзать restful-адреса, наступил на грабли. Но идея хороша

Кстати, maxcom, даёшь REST-style урлы на ЛОРе. =)

Bohtvaroh ★★★★ ()
Ответ на: комментарий от Bohtvaroh

linux.org.ru/news/java/vishel_reliz_framevoka_Spring - нафиг, нафиг такое убожество.

wfrr ★★☆ ()
Ответ на: комментарий от anonymous

Я даже скажу больше - спринг испортил жава программистов.


слишком толсто


вполне нормально. как каркас спринг неплох а классы из комплекта - половина требует секурити врапперы или вообще в помойку ибо дырявое говно, в диком уебе похакают на раз.

gigabito ()
Ответ на: комментарий от wfrr

> linux.org.ru/news/java/vishel_reliz_framevoka_Spring - нафиг, нафиг такое убожество.

Белка видать не знакома с рестом. Вместо «vishel_reliz_framevoka_Spring» вполне сошёл бы id.

Bohtvaroh ★★★★ ()
Ответ на: комментарий от gigabito

> а классы из комплекта - половина требует секурити врапперы или вообще в помойку ибо дырявое говно, в диком уебе похакают на раз.

Примеры? Пруфлинки?

Bohtvaroh ★★★★ ()
Ответ на: комментарий от Bohtvaroh

Белка видать знает секретную тайну REST (и что текущий урл данной странице, вполне себе годен для REST), но не скажет, даже под пытками (особо предпочитаю сексуальные пытки).

wfrr ★★☆ ()
Ответ на: комментарий от wfrr

>до выхода EJB 3 , спринг еще комуто был нужен...

Не всем и не всегда нужны EJB. А пихать даже легковесные аппликушки в аппликейшн сервер только потому, что там есть MDB или какие нибудь ентерпрайз причучи это маразм. Со спрингом 90% апликух можно и в Томкате гонять. Спринг рулез!

dimag ()
Ответ на: комментарий от Bohtvaroh

>Белка видать не знакома с рестом.

Незнаю как белка, а ты видимо точно ибо удобочитаемые урлы уже пропагандируются еще с зари хатеемель+сервлетс. А то что эти ребята из рестфул веб сервисесов больше всех о них орут еще не значит что именно они это и придумали.

anonymous ()
Ответ на: комментарий от dimag

Маразм - это юзать спринг

когда, умные чувяки могут легко прикрутить JMS к томкату и радоваться жизни, без нестандартных студиозных поделий а-ля спринг. Тем более в новом глассфише, все это будет шустрее чем твой спердинг.

wfrr ★★☆ ()
Ответ на: комментарий от dimag

How about 10 tiers vs 3 tiers? Даешь побольше tiers? Тогда давайте уж мета-мета-метапрограмировать для виртуальных машин в виртуальных машинах на кластерах из кластеров? Почему не сделать вещи проше?

Manhattan ()
Ответ на: комментарий от wfrr

> Белка видать знает секретную тайну REST (и что текущий урл данной странице, вполне себе годен для REST), но не скажет, даже под пытками (особо предпочитаю сексуальные пытки).

1) «view-message.jsp» - content-type (jsp, htm) должен быть в HTTP заголовке, он не должен использоваться в урле
2) GET-параметры адресующие ресурс должны быть частью урла

Bohtvaroh ★★★★ ()
Ответ на: комментарий от anonymous

> Незнаю как белка, а ты видимо точно ибо удобочитаемые урлы уже пропагандируются еще с зари хатеемель+сервлетс. А то что эти ребята из рестфул веб сервисесов больше всех о них орут еще не значит что именно они это и придумали.

Я опираюсь на диссер Филдинга, упомянутую книгу тоже имею, но она тут не причём. А ты что вообще сказать хотел?

Bohtvaroh ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.