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

Post on 22-Jun-2015

140 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Компоненты Web-фреймворков на примере

Spring

Разработчики. Занятие 15 (2 часть)

Взаимодействие с БД:1. Низкоуровневые интерфейсы – JDBC, ODBC, PDO2. Для ООП – 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)

Компоненты web-фреймворков

Inversion of Control (IoC) – вызов компонента осуществляется Spring-ом

Компоненты web-фреймворков

Dependency Injection (DI) – компонент использует интерфейсы, реализация передается Spring-ом при вызове

Компоненты web-фреймворков

Bean – Java-объект, загруженный Spring-ом в контейнер, описывается в файле конфигурации либо аннотациями

Компоненты web-фреймворков

Время жизни (scope) компонента1. Singleton2. Prototype3. Session4. Request

Компоненты web-фреймворков

Dispatcher (router, front controller) – компонент, отвечающий за разбор запроса и вызов нужного компонента (Bean)

Компоненты web-фреймворков

Примеры URL:http://mysite.com/users/listhttp://mysite.com/users/ivanov

Примеры URI:http://mysite.com/users.jsphttp://mysite.com/user.jsp?code=ivanov

Компоненты web-фреймворков

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. Анализ HttpRequest2. Обращение к Hibernate (или JDBC)3. Обработка данных, подготовка Java-объектов4. Определение нужной JSP, передача данных

MVC

Маршрутизация (routing):

Request -> URL -> URI -> Controller -> View -> Response

MVC

top related