Аннотация: Предлагаемый курс «Разработка приложений с использованием Spring Framework» предоставляет слушателям возможность на углубленном уровне освоить принципы и получить навыки практического создания Java EE приложений на платформе Java с использованием популярнейшей в последнее время инфраструктуры Spring Framework.
Длительность (в рабочих днях): 5
Один день равен 8 акад.часам (один акад. час - 45 минут)
Описание:
Spring Framework это инфраструктура с открытыми исходными текстами для создания Java EE приложений. Первая версия этого продукта появилась в феврале 2003 года, с тех тех пор активно развивалась и является в настоящее время одной из лидирующих платформ для создания Java EE приложений. Разработка надежных Java EE приложений является комплексным процессом, требующим зачастую создания большого объема инфраструктурого кода. Spring Framework является легковесной инфраструктурой, одной из целей которой является упрощение создания программных систем уровня предприятия (enterprise applications). Эта платформа активно использует принцип «внедрения зависимостей» (dependency injection - DI), поддерживает аспектно-ориентированное программирование (aspect-oriented programming — AOP) и содержит большое количество расширений (features) и шаблонов (templates), позволяющие освободить код бизнес логики от зависимости от конкретной реализации Java EE технологии. Абстрактные классы, фабрики и управляемые компоненты создавались с расчетом, чтобы разработчики были сконцентрированы на решение поставленной бизнес задачи, а не создавать в очередной раз код, относящийся к инфраструктуре. В течении курса слушатели узнают, как использовать Spring Framework и с его помощью значительно ускорить создание надежных программных систем, При чтении курса используются учебные материалы на русском языке. Размер групп на курсах составляет от 8 до 12 человек, что обеспечивает возможность преподавателю внимательно контролировать учебный процесс с каждым слушателем, отвечая на все вопросы и применяя индивидуальный подход к обучению Spring Framework. Продолжительность курса составляет 40 академических часов
Цели:
- После окончания курса слушатели получат основные навыки создания веб приложений на платформе Java EE, в том числе смогут:
- Создавать распределенные приложения Java уровня предприятия используя Spring 3
- Строить инфраструктуру приложения используя принципы Inversion of Control (IoC) и Dependency Injection (DI)
- Разбивать функциональность на отдельные модули используя Аспектно-Ориентированное Программирование (Aspect-Oriented Programming - AOP)
- Создавать гибкий пользовательский интерфейс приложения с помощью Spring Model View Controller (MVC)
- Сохранять бизнес объекты в базах данных используя DAO Spring и ORM модули
Аудитория: Курс предназначен для разработчиков программного обеспечения, архитекторов программных инженеров и менеджеров, вовлеченных в создание комплексных Java EE приложений и желающих узнать возможности, освоить и использовать уникальные особенности Spring Framework в своих проектах.
Содержание:
- Разработка приложений с использованием Spring Framework
- Возникновение Spring Framework
- Проблемы «классического» Java EE (EJB 2.x)
- Легковесные (lightweight) и тяжеловесные (heavyweight)
контейнеры
- Мотивы создания Spring
Framework
- Обзор Spring Framework
- Модули Spring Framework
- Контроль создания объектов
- Аспектно-ориентированное программирования
(Aspect-Oriented Programming – AOP)
- Персистентность и поддержка транзакционности в
Spring Framework
- Веб приложения
- Интеграция с другими фреймворками
- Создание управляемых компонентов в Spring
Framework
- Паттерны Inversion of Control
(IoC) и Dependency Injection (DI)
- Преимущества IoC/DI: повторное
использование и тестируемость компонентов, low coupling,
consistent architecture and configuration, easy-to-follow design, good
OOP
- Контейнер Spring Framework и его роль.
- Контекст приложения (application context)
- Использование XML для конфигурации приложения и
создания управляемых компонент
- Bean
Factory, делегирование создания управляемых компонент
Spring Bean
Factory,использование фабричных
методов (factory
methods).
- Автосвязывание (autowiring)
- Области видимости управляемых компонент.
- Управление жизненным циклом управляемых
компонент (инициализация, удаление)
- Аспектно-Ориентированное программирование
(Aspect-Oriented Programming)
- Аспектно-Ориентированное Программирование
(АОП), понятие сквозной функциональности (crosscutting concern)
- Основные определения АОП - точка соединения (
joinpoint), совет (advice), срез
(pointcut), аспект (aspect),
внедрение (introduction), связывание (
weaving), цель или целевой объект (target)
- Статическое и динамическое АОП
- Архитектура Spring АОП, использование
объектов-посредников (proxy)
- Spring AOP
- Использование Spring AOP программным образом
- Использование Spring AOP с помощью
конфигурации, использование autoproxying
- @AspectJ
- Выражения @AspectJ, аннотации
@AspectJ
- @AspectJ vs Spring AOP
- Встроенные аспекты
- Доступ к данным (persistence)/ поддержка
паттерна DAO
- Шаблон Data Access Object
(DAO)
- Использование JDBC
с Spring
Framework
- Класс JdbcTemplate
- Обработка исключений (exceptions)
- Операции с данными, используя JdbcTemplate:
выборка, обновление, вставка, удаление
- Отображение результатов запроса на объекты Java
- Использование ORM
с Spring
Framework
- Понятие Object-relational
mapping (ORM)
- Использование Hibernate с
Spring Framework
- Сессии Hibernate
- Класс HibernateTemplate
- Операции выборки, обновления, вставки, удаления
объектов
- Использование языка запросов Hibernate Query
Language в Spring Framework
- Использование JPA в Spring Framework
- Управление транзакциями в Spring
- Введение в управление транзакциями в Spring:
компонентная модель, распространение контекста транзакции (transaction
Propagation), менеджеры транзакций
- Использование транзакций в Spring Framework
программным образом, transaction callback API
- Конфигурирование транзакций с помощью
аннотаций, аннотация @Transactional.
- Использование XML для конфигурации транзакций:
элементы <tx:*>, атрибуты tx:attributes, определение TX
advisor
- Введение в Spring MVC и WebFlow
- Шаблон Model-View-Controller
(MVC)
- Сервлет DispatcherServlet
- Конфигурация Spring MVC
- Контроллеры: simple, form,
multi-action
- Представления (views), выбор представления
(view resolution): JSP/JSTL
- Формы (forms) и библиотека
тэгов Spring (Spring tag library)
- Data-binding, редакторы
свойств (property editors), контроль данных
(validation)
- Интернациализация и локализация приложений
(I18N)
- Обработка исключений (exceptions)
- Соглашения по конфигурации, типичные для
большинства приложений (convention over configuration) с контроллерами,
использующими аннотации (annotation-driven controllers)
- Обзор Spring WebFlow
- Интеграция с другими технологиями - Sturts2,
JSF, Tapestry
- Spring Security (ранее
Acegi Security)
- Архитектура модуля Spring
Security
- Использование интерцепторов
(security interceptor)
- Менеджер идентификации
(authentication manager), провайдер идентификации
(authentication providers)
- Менеджер доступа (access
decision manager)
- Run-as менеджер
- Использование АОП в Spring
Security
- Spring Security в веб приложении
, HTTP security
- Spring Security в бизнес
методах, method security
- Тестирование в Spring
Framework (Spring Testing)
- Тестирование компонент (unit testing)
- Интеграционное тестирование (integration
testing)
- Имитаторы (mocks), заглушки (stubs), фикстуры
(fixtures)
- Интеграция с JUnit
- Контекст тестирования Spring
(Spring TestContext)
- Интеграция Spring с другими технологиями
- Работа с сообщениями используя JMS и AMQP
- Диспетчеризация заданий (job scheduling)
- Обращение к EJB из Spring приложения
- Отправление электронная почты (email) из Spring
приложения
- Использование веб-сервисов
- Заключение
Предварительные требования: Слушатели курса должны иметь опыть разработки на языке Java и быть хорошо знакомыми с технологиями JSP и Servlet. Опыт использования EJB, JMS, AMQP и Java web services желателен, но не является обязательным.
Даты предстоящих курсов обучения:
Идет набор группы слушателей по данной программе обучения.
Смотрите в блоке "Информация", как оставить заявку на прохождение обучения по данной программе или записаться на конкретную дату!
|