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 ()
Последнее исправление: maxcom (всего исправлений: 1)
Ответ на: комментарий от Bohtvaroh

>content-type (jsp, htm)

content-type (jsp

Ну ты отжог, причем тут контент тайп? Контент тайп вообще выставляет броузер. Ему абсолютно пох*й чем там тот сраный урл заканчивается.

Что никогда не видел урлов в виде http://host.tupogu.debila.org/index.do , с которых отдаются обычные жсп страницы? Иди уроки доучивай, школота.

anonymous
()

Многабукф. Читать новость не стал.

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

ты що, никогда не видел сайтов предлагающий скачивать php страницу? Вот они Ъ-REST ибо отдают верный mime-тип.

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

> Бугага теперь скажи где в первоисточнике это указано за правило?

Там внизу есть ссылочка «Top». Вот когда всё там прочитаешь, тогда поговорим, ок?

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

>А ты что вообще сказать хотел?

А я опираюсь на 12 летний опыт работы в ИТ, Филдинг тогда еще и диссертацию свою не написал, которая по большому счету фуфел. Впринципи почитать довольно интересно, но по большому счету толчение воды в ступе, аля у нас есть HTTP протокол и больше нам ничего не надо, давайте придумаеш немного специфичное аля СервлетАпи и все будет в шоколаде.

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

Зощитывать слив? Или таки потрудишься обосновывать? Тем более что выше ты сам рассказывал всем что опираешься на сей труд. Так что тебе не должно составить труда привести из него пару цитат.

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

Ты убогий пипец просто насколько. Осиль спринг, устройся на работу. Видел я таких, выучили жсп с сервлетами, и айда быдлокодить шедевры. А насчет похакают - сходи покакай, потом поговорим.

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

> Контент тайп вообще выставляет броузер.

Ну ты дебил. :) http://en.wikipedia.org/wiki/MIME#Content-Type

Что никогда не видел урлов в виде http://host.tupogu.debila.org/index.do , с которых отдаются обычные жсп страницы? Иди уроки доучивай, школота.

Ну ты дважды дебил. :D Сначала бы хоть понял, о чём разговор. :D

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

> А я опираюсь на 12 летний опыт работы в ИТ, Филдинг тогда еще и диссертацию свою не написал, которая по большому счету фуфел. Впринципи почитать довольно интересно, но по большому счету толчение воды в ступе, аля у нас есть HTTP протокол и больше нам ничего не надо, давайте придумаеш немного специфичное аля СервлетАпи и все будет в шоколаде.

Ну и? Что за вода? :D

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

Цитаты, тем более с твоимто англицким, их будет легче привести, пока что я подтверждения твоих слов не нашел.

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

> Зощитывать слив? Или таки потрудишься обосновывать? Тем более что выше ты сам рассказывал всем что опираешься на сей труд. Так что тебе не должно составить труда привести из него пару цитат.

Ну я же тебе дал ссылку. Почитай, что есть Resource, и далее. Мне просто вправду ради такого лоровского клоуна, как ты, что-то за тебя выискивать.

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

> А что ты лыбишься? :D

Настроение потому что хорошее, а что? :)

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

>Ну ты дебил. :) http://en.wikipedia.org/wiki/MIME#Content-Type

И что? Какой молодец, нашел в википедии определение контент тайпа? Что до сих пор не понимаешь что если запросить с сервера нечто под урлом something.excel а в реале вылезет окошко для просмотра ПДФ файлов?

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

Ну я же тебе дал ссылку.

тыб еще ссылку на гуголь дал.

Почитай, что есть Resource, и далее. Мне просто вправду ради такого лоровского клоуна, как ты, что-то за тебя выискивать.

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

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

> И что? Какой молодец, нашел в википедии определение контент тайпа? Что до сих пор не понимаешь что если запросить с сервера нечто под урлом something.excel а в реале вылезет окошко для просмотра ПДФ файлов?

Ладно, раз я такой добрый сегодня, то разжую для тебя.

".htm" в урле по сути является указанием контент тайпа, так? А ещё у нас есть HTTP заголовок content-type, так? Тогда зачем нам плодить несколько разных урлов для одного ресурса (пусть он - ресурс - есть в версии html и pdf)? Достаточно одного URL без указания контент тайпа в нём. А дальше каждый конкретный клиент сам может установить свои предпочтения по контенту в соответствующем HTTP заголовке (accept, вроде) в запросе и определять тип контента в ответе по HTTP заголовку content-type.

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

> бла бла бла

Раздел «6.3.2.7 Content Negotiation» - это про content-type. Определение ресурса - это и есть про адресацию. Это же диссертация, белка, там прямо тебе ничего не скажут! Я не понимаю, вообще чего ты такая бешаная, тебя просвещаешь, дуру, а ты гадишь только!

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

- Заяц не пробегал?
- Серенький такой? И хвостик пупоч-ч-чкой?
- Да, пупочкой.
- Нн-нет, н-н-не видел.

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

> Майор БритваОккамма, а теперь внезапно расскажи где ты и это почерпнул из диссертации?

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

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

>Тогда зачем нам плодить несколько разных урлов для одного ресурса

Откуда ты их воопще взял эти два урла к одному ресурсу? Хоть убей не пойму. Хватит читать всякую херню, лучше иди пиши код, но только думай головой, а не подхватывай все как обезяна.

Достаточно одного URL без указания контент тайпа в нём.

Так он мля один и есть - homepaga.tupogo.debila.html. Одын совсем одын. Где ты второй урл выцепил то?

И хватит цитировать этого тупого филдинга, про аксепт и подбор соответсвующих ресурсов меня то не учи?

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

Мужик, это все кошерно и хорошо, ты правила такие где выкурил, цитирую твою феерию:

content-type (jsp, htm) должен быть в HTTP заголовке, он не должен использоваться в урле

А, ну где ты такой бред там прочитал? Причем помимо метанации про контент тайп в урл, допустим ты с перепугу, увидев белку начал путать расширений и контент-тайп, но где там запрещаются расширения? Как ВЕЛИКИЙ СПЫЦЫАЛИСТ по ресту, колись?

GET-параметры адресующие ресурс должны быть частью урла

помимо того что они и так являются частью урла (в любом случае, этож GET, а не POST), ты фактически сметанировал, что в диссертации запрещаеются параметры GET запроса. И где ты это нашел там?

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

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

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

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

> Так он мля один и есть - homepaga.tupogo.debila.html. Одын совсем одын. Где ты второй урл выцепил то?

Ну так в этом урле ".html" какую роль играет? Для чего оно? Если оно там вообще до лампочки, то нахрена оно там?

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

> помимо того что они и так являются частью урла (в любом случае, этож GET, а не POST), ты фактически сметанировал, что в диссертации запрещаеются параметры GET запроса. И где ты это нашел там?

Ты просто читать не умеешь. :)

«GET-параметры адресующие ресурс», а не все параметры!

По остальным пунктам спорить надоело, прочитай всё полностью - поймёшь.

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

>".html" какую роль играет

Повторяю еще раз. Ту там напиши хоть homepaga.tupogo.debila.ХУЙ - все будет работать как надо. Это просто для удобства идиотов с венды. Чтобы они не пугались, а активнее тыцали линки.

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

Если оно там вообще до лампочки, то нахрена оно там?

Да вообще нахрена урлы, можно их заменять на uuid как делают ынтерпрайзные сайты - один хрен машине читать проще, а суть передает также (и RESTово по самые яйца)

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

> Повторяю еще раз. Ту там напиши хоть homepaga.tupogo.debila.ХУЙ - все будет работать как надо. Это просто для удобства идиотов с венды. Чтобы они не пугались, а активнее тыцали линки.

Удобство идиотов - это всё назначение? Ну ты же поминаешь, что это красноглазие, тебя помидорами закидают с такими аргументами. Да и какое ещё удобство? Убираешь эту хрень и всё, что тебя смущает?

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

>прочитай всё полностью - поймёшь.

Звучит как: «Кормит мужик тещу колбасой с ядом и говорит - Ты ешь, ешь, она вкусная!».

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

> Да вообще нахрена урлы, можно их заменять на uuid как делают ынтерпрайзные сайты - один хрен машине читать проще, а суть передает также (и RESTово по самые яйца)

Ты выпала из диалога, мы сейчас тут про суффиксы типа ".htm" и т.п. :D

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

Ты просто читать не умеешь. :)

Это говорит человек куривший диссертацию вместо ее чтения? Бугага.

«GET-параметры адресующие ресурс», а не все параметры!

Чуваг, цитату, а то лужи кончились, и ты взялся за бетон.

По остальным пунктам спорить надоело, прочитай всё полностью - поймёшь.

Пока что ты не спорил а уверенно сливал, тщательно уходя от ответов на вопросы.

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

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

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

>Кста, вот http://tomayko.com/writings/rest-to-my-wife тебе доступнее будет. :)

И ты повелся на этот высер? Там какойто ущербный весь пост трет, что все вокруг заняты не тем, что их поделки это не тру поделки, а вот наши поделки самые поделковские поделки. Пойми, рестфул вебсервайсесы имеют свою нишу. Другие способы передачи информации в распределенной среде свою. Не надо как волки бросаться на очередной бред и принимат ьвсе за еще одну серебрянную пулю.

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

> Пойми, рестфул вебсервайсесы имеют свою нишу. Другие способы передачи информации в распределенной среде свою. Не надо как волки бросаться на очередной бред и принимат ьвсе за еще одну серебрянную пулю.

Хоспаде, давай ты о вебсервисах поговоришь с белкой, ок? Изначально речь шла о REST-анутых урлах на ЛОРе, какие фтопку сервисы, я не понимаю... O_o

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

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

Расскажи, будь добра, для чего они сейчас, и для чего они были раньше, исторически, специально для меня. :D

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

>> Контент тайп вообще выставляет броузер

Ы? :)

Да-да, и эти люди меня посылают учить уроки... o_O LOL

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

>Да вообще нахрена урлы, можно их заменять на uuid как делают ынтерпрайзные сайты

Просто бывают всякие firefox'ы, где при сохранении страницы имя берётся не из заголовка оной, а из имени отдаваемого файла. Неудобно.

Ну и при постинге ссылок где-нить на форуме, если название страницы в URL'е содержится, часто становится видно, ходить туда или нет уже по названию ссылки :)

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

Просто бывают всякие firefox'ы, где при сохранении страницы имя берётся не из заголовка оной, а из имени отдаваемого файла

Title Save

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