Перед началом работы
Данная серия учебных руководств предназначена для разработчиков Java™ Platform, Enterprise Edition (Java EE), желающих подробнее изучить среду Spring Framework и узнать, как использовать функции этой среды на сервере приложений Apache Geronimo.
Данная серия из шести руководств знакомит читателей со средой Spring и ее Framework и ее месте в Geronimo. Сначала были рассмотрены различные методологии среды Spring Framework и их применение с сервером Geronimo. В упражнениях данной серии будет разработано и развернуто приложение, представляющее собой персональную телефонную книгу. Приложение обладает следующими функциями:
- Отображение телефонной книги;
- Отображение сведений по каждой записи;
- Добавление новых записей в телефонную книгу;
- Редактирование, изменение и удаление записей;
- Добавление подробной информации к записи, например, основной адрес электронной почты.
В части 1 описан каждый модуль среды Spring Framework и показано, как они связаны с разработкой приложений Java EE на сервере приложений Geronimo. В этой части также представлены методики, на которых основана среда Spring Framework.
В части 2 показано, как создать первое пустое приложение при помощи Spring Framework на Geronimo.
В данном учебном руководстве (часть 3) будет усовершенствовано приложение Geronimo из части 2 за счет добавления поддержки JDBC при помощи базы данных Derby. Также будет показано, как интегрировать в приложение ORM при помощи iBATIS.
В части 4 будет представлено аспектно-ориентированное программирование (АОП) в Spring и среда Spring Web Framework. При помощи Spring AOP любой объект, управляемый средой Spring Framework, может быть аспектно-ориентированным, и данное учебное руководство основано на сервисах управления декларативными транзакциями, предоставляемых Spring AOP.
В части 5 рассматривается Spring Model-View-Controller (MVC) и начинается работа со Spring MVC с введения в среду MVC и Web-представления.
В шестом заключительном учебном руководстве данной серии будет показано, как использовать JavaServer Pages™ (JSP™), Velocity, Tiles и экспорт PDF с помощью среды Spring. Вы сможете применить различные Web-представления, встроенные в Spring MVC, а также экспериментировать с ними.
В части 2 начата разработка приложения телефонной книги при помощи некоторых модулей среды Spring Framework. Также было показано, как развернуть это приложение на Geronimo. Данные в этом приложении отображаются статически и жестко закодированы в страницу JSP. В данном учебном руководстве будет показано, как считывать эти данные динамически из базы данных Derby. Также будет показано, как использовать Web-консоль Geronimo для создания таблиц и для доступа к данным при помощи Spring JDBC и Spring DAO API.
Кроме того, будет показано, как сопоставлять объекты данных с объектами реляционной базы данных при помощи среды iBATIS ORM, разрабатываемое приложение будет считывать данные прозрачно при помощи ORM SQL Maps и API подключения к Apache Commons.
Наконец, все технологии будут интегрированы в создаваемое приложение, которое будет использовать Spring DAO с SQL Maps, определенные при помощи iBATIS ORM, и подключаться к базе данных через Spring JDBC. После создания приложения будет представлена вся прелесть инжекции зависимостей. Можно изменять источники данных, используемые приложением, просто изменяя несколько строк в файле конфигурации, не трогая кода.
В данном учебном руководстве показано, как совместное использование эти методов позволяет разрабатывать реализацию модели для приложения.
В данном учебном руководстве предполагается, что пользователь знаком с объектно-ориентированным программированием (ООП) и имеет представление о терминологии J2EE и Java EE. Также необходимо уметь использовать основные SQL-предложения, понимать базовую семантику XML и базовые концепции объектно-реляционного сопоставления, хотя эта тема в данном руководстве не затрагивается. Знание аспектно-ориентированного программирования является плюсом, но не обязательным условием.
Для выполнения упражнений учебного руководства необходимы следующие инструменты:
- Spring Framework, Version 1.2.8 -- Будет использоваться сжатый файл со всеми зависимостями;
- Apache Geronimo 1.1 -- Geronimo представляет собой сервер приложений, сертифицированный J2EE, от Apache;
- База данных Apache Derby -- В данном учебном руководстве используется Derby, представляющую собой простую базу данных с открытым исходным кодом. Derby встроена в Geronimo 1.1, поэтому отдельно устанавливать базу данных не требуется;
- Среда iBATIS -- Текущая версия iBATIS 2.1.7;
- Пакет Apache commons dbcp -- Пакет необходим для разработки модуля ORM;
- Пакет пула Apache commons -- Требуется для модуля ORM;
- Apache Ant -- Убедитесь, что Ant настроен правильно и его папка /bin указана в системной переменной Path;
- Java 1.4.2 -- Убедитесь, что в системе установлен и запущен пакет Java.
Далее приведены инструкции по установке и настройке программного обеспечения, необходимого для разработки, развертывания и запуска приложения-примера.
- Установка Spring Framework и Geronimo -- Для выполнения примера программы необходима рабочая установка Geronimo и Spring Framework. Инструкции по установке см. в части 2;
- Установка iBATIS -- iBATIS SQL Maps будет использоваться как объектно-реляционный инструмент сопоставления для примера ORM. После загрузки разархивируйте сжатый файл на диск, на котором находится приложение. При разархивировании файла создается папка iBatis_2.1.7. (На моем диске установка iBATIS находится в папке K:\iBatis_2.1.7.) На данный момент никакие настройки для iBATIS не требуются;.
- База данных Derby -- Установка базы данных Derby, входящая в пакет Geronimo 1.1, не требует особой настройки;
- Пакеты Apache Commons dbcp и Commons pool -- Для примера ORM из этих пакетов требуются файлы JAR. Идея заключается в демонстрации простоты изменения источников данных и коннекторов без изменения исходного кода. Это достигается за счет инжекции зависимостей с использованием файлов конфигурации. Будет показано как использовать эти API. В данный момент просто загрузите и разверните их на жесткий диск. Помните, что из этих двух пакетов требуются только файлы JAR.