Работа с базами данных Spring

Добавлено Дата: 2 July, 2014 категория: Spring

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

Читать »

Устранение шаблонного кода с помощью шаблонов

Добавлено Дата: 1 July, 2014 категория: Spring

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

Читать »

Отображение скрытого поля с именем метода Spring

Добавлено Дата: 1 July, 2014 категория: Spring

В разделе 8.4.1 было показано, как использовать библиотеку свя- зывания полей формы, входящую в состав Spring, для отображения HTML-форм. Основным элементом этой библиотеки является тег

Читать »

Управление транзакциями Spring

Добавлено Дата: 1 July, 2014 категория: Spring

Отвлечемся на минутку и вспомним детство. Если вы были по- хожи на большинство детей, вы наверняка провели немало безза- ботных часов на детской площадке, качаясь на качелях, лазая по лестницам и кружась на карусели.

Беда в том, что на качелях, устроенных в виде качающейся дос- ки, практически невозможно качаться в одиночку. Чтобы удоволь- ствие было полным, необходим еще один человек: вы и ваш друг оба должны согласиться покачаться на таких качелях. Такое соглашение не допускает компромиссов – все или ничего. Либо вы оба будете качаться, либо никто. Если кто-то из вас не сможет сесть на свой конец качелей, покачаться просто не получится – грустный ребенок будет сидеть на неподвижных качелях1.

Читать »

Архитектура JMS Spring

Добавлено Дата: 1 July, 2014 категория: Spring

Большинство из нас не раз пользовались услугами почты. Еже- дневно миллионы людей передают письма, открытки и посылки в руки почтальонов, будучи уверенными, что они будут доставлены

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

Читать »

Обработка данных формы Spring

Добавлено Дата: 1 July, 2014 категория: Spring

Реализовав возможность отправки формы пользователем, мы должны создать метод-обработчик, принимающий объект Spitter (заполненный данными из формы) и сохраняющий его. И отобра- жающий страницу с настройками пользователя. В листинге 8.10 представлен метод addSpitterFromForm(), обрабатывающий данные из формы.

Читать »

Обработка коллекций на языке SpEL

Добавлено Дата: 30 June, 2014 категория: Spring

Одни из самых необычных особенностей языка SpEL связаны с обработкой коллекций. Сослаться на отдельный элемент коллек- ции в языке SpEL можно точно так же, как в языке Java. Но в SpEL имеется мощный механизм выборки элементов коллекций на осно- ве значений их свойств. Он также позволяет извлекать значения свойств элементов коллекций и составлять из них новые коллекции.

Читать »

Создание примеров XML-сообщений Spring

Добавлено Дата: 30 June, 2014 категория: Spring

Говоря простым языком, наша служба будет принимать комбина- цию из пяти карт и возвращать ее оценку при игре в покер (напри- мер, фул-хаус, флеш и т. д.). Сообщение, передаваемое веб-службе, можно представить так:

<EvaluateHandRequest

xmlns="http://www.springinaction.com/poker/schemas">

Читать »

Внедрение в свойства компонентов, управляемых  сценариями Spring

Добавлено Дата: 30 June, 2014 категория: Spring

Чтобы проиллюстрировать, как реализовать внедрение значений в свойства компонента, управляемого сценарием, перевернем наш пример с лаймом и кокосом с ног на голову. На этот раз кокосом будет компонент, управляемый сценарием, а лаймом – POJO. Сна- чала рассмотрим Java-класс, реализующий интерфейс Lime:

Читать »

Внедрение методов Spring

Добавлено Дата: 29 June, 2014 категория: Spring

В главе 2 описывались две основные формы внедрения зависи- мостей (DI). Внедрение через конструктор позволяет настраивать компоненты, передавая значения через аргументы конструкторов. Аналогично внедрение через методы доступа позволяет настраивать компонент, передавая значения через аргументы методов записи. Прежде чем эта книга закончится, в ней будут представлены сотни примеров внедрения через методы доступа и, может быть, немногим меньше примеров внедрения через конструкторы.

Читать »

Основы языка выражений SpEL Spring

Добавлено Дата: 29 June, 2014 категория: Spring

Конечная цель выражений на языке SpEL состоит в том, чтобы обеспечить возможность вычисления некоторых значений. В про- цессе вычислений могут участвовать другие значения. Самой прос- той разновидностью значений в языке SpEL являются литералы, ссылки на свойства компонентов и константы в некоторых классах.

Читать »

Создание контроллеров, ориентированных на ресурсы

Добавлено Дата: 29 June, 2014 категория: Spring

Как было показано в главе 8, в Spring MVC используется чрезвы- чайно гибкая модель создания классов контроллеров. Практически любой метод с практически любой сигнатурой можно объявить об- работчиком веб-запросов. Однако из-за такой гибкости фреймворк Spring MVC позволяет создавать контроллеры, которые нелучшим образом подходят для обслуживания ресурсов RESTful. Слишком просто написать контроллер, противоречащий принципам архитек- туры REST.

Читать »

Дополнительные способы связывания компонентов Spring

Добавлено Дата: 29 June, 2014 категория: Spring

Большинство людей имеют, по крайней мере, один ящик (а иног- да даже целый шкаф или кабинет) в своем доме, где хранятся раз- ные мелочи. Часто его называют просто «выдвижной ящик», но там может оказаться довольно много разных весьма полезных штуковин. В подобном месте всегда найдутся такие вещи, как рулетка, зажи- мы, ручки, карандаши, кнопки, несколько запасных батарей и т. д. Обычно эти предметы не используются каждый день, но вы точно знаете, что если отключат электричество, вы пороетесь в этом ящи- ке и обязательно найдете батареи, которые вставите в ваш фонарь.

Читать »

Безопасность в Spring

Добавлено Дата: 29 June, 2014 категория: Spring

Доводилось ли вам замечать, что большинство персонажей в телеви- зионных комедийных сериалах никогда не запирают свои двери на за- мок? Причем постоянно. Например, в сериале «Seinfeld» («Сайнфелд») Крамер (Kramer) часто позволяет себе заходить в квартиру к Джер- ри (Jerry) и одалживать у него вещи и продукты. В сериале «Friends» («Друзья») разные персонажи часто входят друг к другу в комнату без предупреждения, совершенно не задумываясь. Однажды, находясь в Лондоне, Росс (Ross) ворвался в комнату в отеле, где поселился Ченд- лер (Chandler), и застал его в пикантной ситуации со своей сестрой.

Читать »

Область действия компонента Spring

Добавлено Дата: 28 June, 2014 категория: Spring

По умолчанию все компоненты Spring единичны. Когда контей- нер передает компонент (либо через связывание, либо как результат вызова метода контейнера getBean()), всегда будет передан тот же самый экземпляр компонента. Однако иногда бывает необходимо получить уникальный экземпляр компонента при каждом обраще- нии. Как изменить единичный нрав Spring?

Читать »