Объектно-ориентированное программирование. Лекция 11

Содержание

Слайд 2

План Редактирование работника Удаление работника Spring MVC + Hibernate + AOP REST API

План

Редактирование работника
Удаление работника
Spring MVC + Hibernate + AOP
REST API

Слайд 3

Редактирование работника Для редактировании работника нам необходим тот же список полей,

Редактирование работника

Для редактировании работника нам необходим тот же список полей, что

и при создании. Можно создать новую форму и новый метод, но это не слишком удачное решение. Например, если мы заходим добавить поле, нам потребуется менять две формы, а не одну.
Поэтому лучшим вариантом будет повторно использовать view employee-info и метод save.
Слайд 4

Редактирование работника Но сначала добавим кнопки для редактирования работников. :

Редактирование работника

Но сначала добавим кнопки для редактирования работников.

:

Слайд 5

Редактирование работника Поскольку мы будем работать с id работника, нужно добавить

Редактирование работника

Поскольку мы будем работать с id работника, нужно добавить метод,

который вернет нам работника из базы по id.
DAO:

:

Слайд 6

Редактирование работника Service: :

Редактирование работника

Service:

:

Слайд 7

Редактирование работника Метод: Для сравнения метод отображения формы создания нового работника: :

Редактирование работника

Метод:

Для сравнения метод отображения формы создания нового работника:
:

Слайд 8

Редактирование работника Но это еще не все. На данном этапе форма

Редактирование работника

Но это еще не все. На данном этапе форма не

содержит данных об
id работника.
Слайд 9

Редактирование работника Не стоит забывать, что с помощью той же формы

Редактирование работника

Не стоит забывать, что с помощью той же формы мы

создаем нового работника. Что будет у него в поле id?
Id этого работника будет 0 (значение int по умолчанию).
Слайд 10

Редактирование работника Также необходимо изменить метод в DAO. Поскольку метод save

Редактирование работника

Также необходимо изменить метод в DAO. Поскольку метод save только

добавляет новых работников в базу, нам необходим метод update. Одним из вариантов будет написание if, но лучше использовать возможности hibernate и применить метод saveOrUpdate:
Слайд 11

Редактирование работника Теперь можно запускать:

Редактирование работника

Теперь можно запускать:

Слайд 12

Редактирование работника

Редактирование работника

Слайд 13

Редактирование работника Также проверим добавление:

Редактирование работника

Также проверим добавление:

Слайд 14

Удаление работника Создадим кнопку delete

Удаление работника

Создадим кнопку delete

Слайд 15

Удаление работника Метод в контроллере будет называться deleteEmployee. После выполнения удаления

Удаление работника

Метод в контроллере будет называться deleteEmployee.

После выполнения удаления нам необходимо

вернуть список работников, поэтому возвращаем redirect на функцию, которая в свою очередь возвращает страницу со списком.
Слайд 16

Удаление работника Для выполнения удаления необходимо добавить метод удаляющий работника из базы. DAO:

Удаление работника

Для выполнения удаления необходимо добавить метод удаляющий работника из базы.
DAO:

Слайд 17

Удаление работника Service:

Удаление работника

Service:

Слайд 18

Удаление работника Теперь можно вызвать метод сервиса в контроллере.

Удаление работника

Теперь можно вызвать метод сервиса в контроллере.

Слайд 19

Удаление работника Результат:

Удаление работника

Результат:

Слайд 20

Spring MVC + Hibernate + AOP Прежде всего необходимо выполнить конфигурацию

Spring MVC + Hibernate + AOP

Прежде всего необходимо выполнить конфигурацию AOP.
Добавим

зависимость в pom:

org.aspectj
aspectjweaver
1.9.6

Слайд 21

Spring MVC + Hibernate + AOP Далее добавим конфигурацию в applicationContext:

Spring MVC + Hibernate + AOP

Далее добавим конфигурацию в applicationContext:

Слайд 22

Spring MVC + Hibernate + AOP После конфигурации можно переходить к созданию классов- аспектов.

Spring MVC + Hibernate + AOP

После конфигурации можно переходить к созданию

классов- аспектов.
Слайд 23

Spring MVC + Hibernate + AOP Запускаем:

Spring MVC + Hibernate + AOP

Запускаем:

Слайд 24

Spring MVC + Hibernate + AOP Добавляем работника:

Spring MVC + Hibernate + AOP

Добавляем работника:

Слайд 25

REST API REST API — это прикладной программный интерфейс (API), который

REST API

REST API — это прикладной программный интерфейс (API), который использует

HTTP-запросы для получения, извлечения, размещения и удаления данных. Аббревиатура REST в контексте API расшифровывается как «передача состояния представления» (Representational State Transfer).
Слайд 26

REST API Начнем с того, что такое API. Для веб-сайта это

REST API

Начнем с того, что такое API. Для веб-сайта это код,

который позволяет двум программам взаимодействовать друг с другом. API предлагает разработчикам правильный способ написания программы, запрашивающей услуги у операционной системы или другого приложения. Проще говоря, это своего рода стандарт, который позволяет программам и приложениям понимать друг друга; это язык интернета, который необходим для работы практически всех сайтов и приложений.
Слайд 27

REST API Еще одна распространенная сфера применения — облачные технологии, где

REST API

Еще одна распространенная сфера применения — облачные технологии, где REST

API нужен для предоставления и организации доступа к веб-службам. Технология позволяет пользователям гибко подключаться к облачным сервисам, управлять ими и взаимодействовать в распределенной среде.
Слайд 28

REST API API REST (или RESTful) основан на передаче состояния представлений,

REST API

API REST (или RESTful) основан на передаче состояния представлений, архитектурном

стиле и подходе к коммуникациям, часто используемым при разработке веб-служб. Некоторые веб-мастера рекомендуют использовать вместо этой технологии SOAP, которая считается более надежной. Но она проигрывает REST API по скорости (последняя использует меньшую пропускную способность, что делает ее более подходящей для эффективного использования интернета).
Слайд 29

REST API Принципы REST API определены в диссертации его создателя Роя

REST API

Принципы REST API определены в диссертации его создателя Роя Филдинга.

Основные из них:
единый интерфейс;
разграничение клиента и сервера;
нет сохранения состояния;
кэширование всегда разрешено;
многоуровневая система;
код предоставляется по запросу.
Слайд 30

REST API Единый интерфейс Ресурсы должны быть однозначно идентифицированы посредством одного

REST API

Единый интерфейс
Ресурсы должны быть однозначно идентифицированы посредством одного URL-адреса и

только с помощью базовых методов сетевого протокола (DELETE, PUT, GET, HTTP).
POST -- create
GET -- read
PUT -- update/replace
DELETE -- delete
PATCH -- partial update/modify
Слайд 31

REST API Клиент-сервер Должно быть четкое разграничение между клиентом и сервером:

REST API

Клиент-сервер
Должно быть четкое разграничение между клиентом и сервером:
пользовательский интерфейс и

вопросы сбора запросов — на стороне клиента.
доступ к данным, управление рабочей нагрузкой и безопасность — на стороне сервера.
Слайд 32

REST API Сохранение состояния Все клиент-серверные операции должны быть без сохранения

REST API

Сохранение состояния
Все клиент-серверные операции должны быть без сохранения состояния. Любое

необходимое управление состоянием должно осуществляться на клиенте, а не на сервере.
Кэширование
Все ресурсы должны разрешать кэширование, если явно не указано, что оно невозможно.
Многоуровневая система
REST API допускает архитектуру, которая состоит из нескольких уровней серверов.