Evgeniy Krivosheev Andrey Stukalenko Vyacheslav Yakovenko Last update: Feb, 2012 Spring Framework Module 1 – Введение.

Презентация:



Advertisements
Похожие презентации
Evgeniy Krivosheev Last update: March, 2012 Spring Framework Module 10 – JMS, EJB.
Advertisements

Evgeniy Krivosheev Andrey Stukalenko Vyacheslav Yakovenko Last update: Nov, 2013 Spring Framework Module 1 - Introduction.
Обзор возможностей Инверсия управления Аспектно-ориентированное программирование.
Java: современные технологии разработки ПО Вашенков О.Е. ООО «РСС», разработчик ПО.
1 © Luxoft Training 2013 Модуль Спецификация Java Beans. Цели Правила описания Java Bean Обзор спецификации Java Beans Использование технологии в.
Обзор возможностей Инверсия управления Аспектно-ориентированное программирование.
Харичкин Александр МФТИ(ГУ) 16 июня Характеристики информационных систем Объем кода Сложность модели данных Масштабируемость Возможность повторного.
1 Введение Информационные системы Альтернативы задачи доступа к данным Стандарт JPA и коммерческие ORM имплементации Определение ORM Проблемы полного преобразования.
Архитектура сервиса С3 Автор: Малыгин М.В. Руководитель: Тимченко Б.Д.
БЭСТ Дизайнер проектов Введение Концепции Основные понятия.
Grails От идеи к прототипу Алексей Тишин HackDay Санкт-Петербург 6-7 сентября.
ENTERPRISE JAVABEANS 3.0 STATEFUL & STATLESS SESSION BEANS.
Технические возможности. Наши цели Максимальная гибкость Максимальная скорость считывания и обработки данных Стабильность работы Максимальная простота.
Evgeniy Krivosheev Vyacheslav Yakovenko Last update: Feb, 2012 Spring Framework Module 4 – JNDI.
Реализация концепции построения и формирования отраслевой системы государственного учета, регистрации и мониторинга (ОСГУРМ) информационных ресурсов сферы.
Интеграция приложений с использованием BPEL. Содержание Что такое BPEL? Как работает BPEL? Как использовать BPEL для интеграции приложений?
Object Relational Mapping (ORM) Объектно-реляционное отображение
Где хранить данные в web- приложении page –JSP страница request – HTTP запрос session – сессия пользователя application – веб-приложение Static Java class.
Microsoft ® Visual Basic ®.NET 2003 Быстрые решения для Microsoft ® Windows ® и веб-разработки.
Object Relational Mapping (ORM) Объектно-реляционное отображение.
Транксрипт:

Evgeniy Krivosheev Andrey Stukalenko Vyacheslav Yakovenko Last update: Feb, 2012 Spring Framework Module 1 – Введение

2 Spring Framework – Знакомство Spring – легковесный, но в тоже время гибкий и всеобъемлющий фреймворк для создания Java SE и Java EE приложений; Spring – фреймворк с открытым исходным кодом; Spring – фреймворк приложения, а не одного его слоя; Spring содержит в себе несколько отдельных фреймворков;

3 Spring Framework – Знакомство Род Джонсон (Rod Johnson) создал Spring в 2003 году; Spring «вырос» из книг «Expert One on One Java J2EE Design and Development» и «J2EE Development Without EJB»; Главная идея Spring – упростить традиционный подход к разработке J2EE приложений;

4 Spring Framework – Знакомство Основные ресурсы: –springsource.com –blog.springsource.com ( –infoq.com/spring

5 Spring Framework – Преимущества Конфигурирование вместо программирования Соглашение вместо конфигурирования (Convention over configuration) Легковесность фреймворка (Lightweight framework) Минимизация связности (Loose coupling) Возможность сосредоточиться на бизнес-логике, а не на сервисном коде AOP – невидимая реализация транзакций, логгирования, обработки исключений... непроверяемые исключения Легкость интеграции Легкость тестирования

6 Spring Framework – Знакомство Spring помогает: Создать логичную архитектуру; Облегчить разработку J2EE приложений; Соединить фреймворки разных уровней; Эффективно организовать middle-tier объекты, как с использованием EJB, так и без; Уменьшить кол-во синглтонов и property-файлов; Упростить процесс тестирования; Использовать разные сервера приложений / сервлет-контейнеры (WebLogic, Tomcat, Resin, JBoss, Jetty, Geronimo, WebSphere);

7 Spring Framework – Знакомство Достоинства Spring: Не внедряется в код – легко мигрировать на другой контейнер или следующую версию Spring; Можно вести разработку без связи с классами фреймворка, также можно использовать библиотеки, не использующие Spring; Не обязательно наличие сервера приложений; Способствует повторному использованию кода; Приветствует ООД в J2EE приложениях, предполагает Design to Interface а также DDD и DMD; Рассматривает приложение как взаимодействие именованных сервисов (не путать с SOA); Позволяет перерабатывать реализацию сервиса, не затрагивая все приложение;

8 Spring Framework – Знакомство Достоинства Spring: Способствует выделению конфигурационных значений в отдельные xml или property-файлы; POJO классы могут быть протестированы отдельно без тяжеловесного контейнера; Использует хорошие готовые решения (ORM, logging abstraction, connection pool, remoting protocols, etc.); Упрощает использование этих технологий, и объединяет их для создания целостной архитектуры.

9 Spring Framework – Знакомство Недостатки обычного J2EE подхода: EJB is overused; –Распределенность не должна быть встроена в компонентную модель; Многие J2EE-паттерны являются обходными путями (workarounds); J2EE приложения сложно тестировать; Достоинства обычного J2EE подхода: EJB – это стандарт; Поддержка многих крупных вендоров; Широкое распространение среди разработчиков; Множество вспомогательных средств разработки;

10 Spring Framework – Знакомство Сравнение EJB и Spring: Для большинства J2EE приложений подходят и Spring, и EJB Распределенные транзакции – лучше EJB, но можно использовать Spring + JTA

11 Spring Framework – Знакомство JDKSpring 1.2. xSpring 2.0. xSpring 2.5. xSpring 3. x Spring Да Да, но могут быть недоступны некоторые функции из JDK 5 Нет 1.4Да Да, но могут быть недоступны некоторые функции из JDK 5 Нет 5 Не использует Поддержива ет, но не полностью использует Более полное использован ие Да 6 Не использует Нет Да 7Нет Да

12 Spring Framework :: Структура фреймворка –Spring Framework –Spring Security –Spring MVC –Spring WebServices (Spring WS) –Spring Mobile –Spring Data –Spring Batch –Spring WebFlow –Spring BlazeDS Integration –...

13 Spring Framework :: Структура фреймворка

14 Spring Framework :: Ядро Core + Beans –Inversion of Control (IoC) и Dependency Injection (DI); –Описание зависимостей; –Реализация базового IoC контейнера; –Устраняет необходимость создания синглтонов программистом; –Позволяет разделить конфигурацию зависимостей и логику программы; Context –Доступ к объектам; –Интернационализация (internationalization - I18N); –Оповещение о событиях (event-propagation); –Загрузка ресурсов (resource-loading); Expression Language –скриптовый язык выражений, который позволяет получить доступ к Java компонентам из JSP; –является расширением JSP 2.1 спецификации;

15 Spring Framework :: Доступ к данным JDBC –обертка для упрощения работы с JDBC; –единообразная обработка исключений для всех СУБД; –поддержка DAO (Data Access Objects); ORM –интеграция с популярными ORM API – Hibernate, JPA, JDO, iBatis и т.д.; –возможность использовать весь функционал соответствующих ORM совместно с функционалом Spring (например, декларативным управлением транзакциями); Transactions –обеспечивает поддержку программного и декларативного управления транзакциями; –поддержка управления транзакциями для POJO; JMS – поддержка Java Messaging Service EJB – поддержка технологии EJB

16 Spring Framework :: AOP AOP –Реализация Aspect-Oriented Programming; –Crosscutting (секущее, поперечное) свойство для нескольких классов, модулей; –дополняет ООP, обогащая его другим типом модульности, который позволяет локализовать код реализации crosscutting логики в одном модуле; –применим к POJO; –соответствует AOP Alliance; Aspects – интеграция с AspectJ; Instrumentation – различный инструментарий и реализации загрузчиков классов (classloaders) для специфичных серверов приложений

17 Spring Framework :: Web Web Core –загрузка файлов из нескольких частей (Спецификация Servlet 3.0 внесет коррективы в ближайшее время); –инициализация IoC контейнера с использованием servlet listeners; –реализация веб-ориентированного application context; Web-Servlet –реализация Model-View-Controller для веб-приложения Web-Portlet –Реализация MVC для использования в portlet-окружении –повторяет функциональность Web Servlet модуля Web-Struts –поддержка интеграции с веб-слоем классического Struts –не рекомендуется к использованию, начиная со Spring 3.0 –Рекомендуется миграция на Struts 2.0 и использование встроенной в него интеграции со Spring или переход на использование Spring MVC

18 Spring Framework :: Test support Поддержка тестирования компонентов Spring с помощью Junit или TestNG; Обеспечивает корректную загрузку Application Context при тестировании; Предоставляет Mock объекты для изолированного тестирования кода;

19 Spring Framework :: Структура фреймворка Spring в Managed - среде: –Декларативное управление безопасностью; –Декларативные транзакции; –Контроль соединений с базой данных; –Примеры: JBoss, BEA WebLogic, IBM WebSphere; Spring в Non-managed среде: –Приложение само должно отслеживать все ресурсы; –Примеры: Jetty, Tomcat, J2SE приложение; Spring позволяет работать в non-managed среде как в managed, без внедрения тяжеловесных решений (в том числе и с использованием JTA);

20 Упражнения 1: Установка и настройка рабочей среды: –15 мин – при использовании виртуальной машины; –45 мин – при самостоятельной настройке среды окружения; 2: Установка и настройка вспомогательных средств: –30 мин

21 Вопросы!?