Skip to content

Latest commit

 

History

History
33 lines (26 loc) · 3.9 KB

File metadata and controls

33 lines (26 loc) · 3.9 KB

Лабораторная работа 2. Конфигурирование приложение Spring c помощью аннотаций. Применение AOП для логирования

Мы продолжаем развивать наше приложение для магазина зоотоваров 🙀.

В этой работе нам необходимо перейти на новое, более простое конфигурирование приложения с помощью аннотаций, добавить функционал по представлению таблиц в виде HTML и измерить скорость выполнения нашего кода c помощью инструментов АОП.

Перед началом работы ознакомитесь с правилами выполнения и сдачи лабораторных работ

Выполнение работы

  1. Скопируйте результат выполнения лабораторной работы № 1 в директорию /les04/lab/
  2. Переделайте приложение так, чтобы его конфигурирование осуществлялось с помощью аннотаций @Component
  3. Использую аннотацию @Value и SpEL сделайте так, чтобы имя файла для загрузки продуктов, приложение получало из конфигурационного файла application.properties. Данный файл поместите в каталог ресурсов (src/main/resources)
  4. Добавьте еще одну имплементацию интерфейса Renderer - HTMLTableRenderer которая выводит таблицу в HTML-файл. Сделайте так, чтобы при работе приложения вызывалась эта реализация, а не ConsoleTableRenderer.
  5. С помощью событий жизненного цикла бина, выведите в консоль дату и время, когда бин ResourceFileReader был полностью инициализирован.
  6. С помощью инструментов AOП замерьте сколько времени тратиться на парсинг CSV файла.
  7. Приложение должно запускаться с помощью команды gradle run, выводить необходимую информацию в консоль и успешно завершаться.
  8. Оформите отчет о выполнении лабораторной работы в виде файла README.md в директории les04/lab. Отчет должен содержать обновленную UML-диаграмму классов в формате mermaid.

Вопросы для защиты

  1. Виды конфигурирования ApplicationContext
  2. Стереотипные аннотации. Перечислите. Расскажите для чего используются
  3. Инъекция зависимостей. Перечислите виды автоматического связывания. Расскажите про каждый из них.
  4. Внедрение параметров. Расскажите как внедрить простые параметры в бин
  5. Внедрение параметров. Расскажите как внедрить параметры с помощью SpEL
  6. Режимы получения бинов. Перечислите, кратко расскажите
  7. Жизненный цикл бинов
  8. Что такое АОП? Основные понятия AOP
  9. Типы АОП в Spring
  10. Виды Advice
  11. Виды Point Cut
  12. Чем Spring AOP отличается от AspectJ