ݺߣ

ݺߣShare a Scribd company logo
Компоненты Web-фреймворков на
примере Spring
Разработчики. Занятие 15 (2 часть)
Взаимодействие с БД:
1. Низкоуровневые
интерфейсы – JDBC, ODBC, PDO
2. Для ООП – ORM
Взаимодействие с БД
Взаимодействие с БД
JDBC – это только
спецификация, ее реализует JDBC-
driver для каждой БД
DataSource – способ подключить
JDBC-driver к приложению
(например, через JNDI)
Взаимодействие с БД
Пример создания соединения
и выполнения запроса
Установление соединения с БД
– самая затратная операция
Взаимодействие с БД
Пул соединений (connection
pool) – кэширующий контейнер
для соединений с БД для их
многократного повторного
использования
Взаимодействие с БД
Взаимодействие с БД
Hibernate – наиболее
популярная реализация
ORM, поддерживающая
спецификацию JPA
Взаимодействие с БД
Организация слоев:
Приложение -> Hibernate –>
DataSource -> JDBC driver ->
DBMS
Взаимодействие с БД
Основные принципы
контейнера Spring:
1. Inversion of Control (IoC)
2. Dependency Injection (DI)
Компоненты ɱ-фреймворков
Inversion of Control (IoC) – вызов
компонента осуществляется
Spring-ом
Компоненты ɱ-фреймворков
Dependency Injection (DI) –
компонент использует
интерфейсы, реализация
передается Spring-ом при вызове
Компоненты ɱ-фреймворков
Bean – Java-объект, загруженный
Spring-ом в
контейнер, описывается в файле
конфигурации либо аннотациями
Компоненты ɱ-фреймворков
Время жизни (scope) компонента
1. Singleton
2. Prototype
3. Session
4. Request
Компоненты ɱ-фреймворков
Dispatcher (router, front controller) –
компонент, отвечающий за разбор
запроса и вызов нужного
компонента (Bean)
Компоненты ɱ-фреймворков
Примеры URL:
http://mysite.com/users/list
http://mysite.com/users/ivanov
Примеры URI:
http://mysite.com/users.jsp
http://mysite.com/user.jsp?code=ivanov
Компоненты ɱ-фреймворков
MVC (model, view, controller) –
шаблон проектирования,
позволяющий отделить данные
от их представления
MVC
MVC
Model – слой взаимодействия с
БД, обеспечивает Java-объекты и
сервисы для их извлечения из БД и
сохранения в нее
Вместо БД может быть другое
хранилище, слой модели абстрагирует
от конкретики
MVC
View – слой представления данных
(Java-объектов) в виде
HTML, XML, PDF, JSON и т.д.
MVC
Controller – слой управления моделью и
представлением
MVC
Типичный Controller:
1. Разбор запроса
2. Обращение к БД
3. Обработка данных, подготовка для
представления
4. Вызов представления с
подготовленными данными
MVC
Типичный Spring-Controller:
1. Анализ HttpRequest
2. Обращение к Hibernate (или JDBC)
3. Обработка данных, подготовка Java-
объектов
4. Определение нужной JSP, передача
данных
MVC
Маршрутизация (routing):
Request -> URL -> URI -> Controller ->
View -> Response
MVC

More Related Content

Стажировка-2013, разработчики, 15 занятие. Web-фреймворки (2 часть)