Spring Start Here 5. Основы MVC. Flashcards

1
Q

Контроллер

A

Компонент, который принимает запросы от пользователя, обрабатывает их и возвращает ответ.

Контроллеры определяют логику обработки запросов и связывают представления с моделями данных.

Обозначаются аннотацией @Controller (или @RestController для REST-приложений).

Реализуют обработку запросов, используя аннотацию @RequestMapping или другие аннотации для указания, какие URL-адреса они обрабатывают.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Основные функции контроллера

A
  1. Получение запросов:
    Контроллер перехватывает HTTP-запросы (например, GET, POST) от клиента, такие как запросы браузера или других приложений.
  2. Обработка данных:
    Контроллер может выполнять простую логику обработки или делегировать её другим сервисам, репозиториям или компонентам.
  3. Формирование модели:
    Контроллер создаёт объект модели, который содержит данные для передачи в представление.
  4. Возврат ответа: Контроллер возвращает представление с данными (в традиционных MVC-приложениях) или JSON/XML-ответ для REST-приложений.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Аннотации контроллера

A

@Controller — обозначает класс как контроллер для обработки веб-запросов.

@RequestMapping — указывает URL-адрес для обработки на уровне класса или метода.

@GetMapping, @PostMapping, @PutMapping, @DeleteMapping — специфичные аннотации для HTTP-методов, удобные для определения методов контроллера.

@RequestParam — привязывает параметры из URL к параметрам метода.

@PathVariable — привязывает переменные из части URL к параметрам метода.

@ModelAttribute — связывает объекты модели с параметрами запроса.

@ResponseBody — указывает, что возвращаемый объект должен быть записан прямо в HTTP-ответ (для REST-контроллеров).

и др.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Как работает контроллер

A

Когда клиент делает запрос к серверу, Spring ищет соответствующий контроллер, который будет обрабатывать данный запрос.
Как только подходящий контроллер найден, вызывается его метод, и данные передаются через модель в представление или возвращаются в виде JSON/XML.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Представление

A

Это компонент, отвечающий за отображение данных пользователю.
В архитектуре MVC (Model-View-Controller) представление (View) получает данные от контроллера и форматирует их для отображения в удобном для пользователя виде.
Представление фокусируется только на визуализации данных и не содержит бизнес-логики.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Основные задачи представления

A
  1. Отображение данных:
    Представление отвечает за визуальное отображение данных, которые оно получает от контроллера.
  2. Форматирование:
    Преобразует данные в удобный формат — например, в HTML, JSON, XML, PDF и т.д.
  3. Интерактивность:
    Может включать элементы интерфейса (формы, кнопки, поля ввода) для взаимодействия с пользователем.
  4. Обновление информации:
    При изменении данных в модели представление может автоматически обновляться, чтобы показывать актуальную информацию.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Как Spring MVC работает с представлениями

A
  1. Контроллер возвращает имя представления:
    Когда контроллер обрабатывает запрос, он возвращает название представления, которое должно быть отображено.
  2. ViewResolver находит нужное представление:
    Spring использует ViewResolver, чтобы найти и загрузить нужный шаблон представления.
  3. Рендеринг данных: Данные, переданные контроллером, вставляются в шаблон, и представление генерируется.
  4. Отправка пользователю:
    Сформированное представление (например, HTML) отправляется пользователю через веб-браузер.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Модель данных

A

Это основа, которая хранит, управляет и обеспечивает целостность данных приложения.

В архитектуре MVC (Model-View-Controller) модель (Model) — это компонент, который отвечает за хранение и управление данными, а также за бизнес-логику, связанную с этими данными.

В архитектуре MVC модель изолирует бизнес-логику и правила от логики интерфейса и представления, что делает код более гибким и простым для сопровождения.

В Spring модель данных часто представлена сущностями для базы данных, классами DTO для передачи данных и логикой, управляющей этими данными через контроллеры и сервисы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Основные функции модели данных

A
  1. Хранение данных:
    Модель представляет собой объект, который хранит данные приложения, такие как информация о пользователях, продуктах, заказах и т.д.
  2. Управление логикой и правилами:
    В модели реализуются правила бизнес-логики, которые описывают, как данные должны быть изменены, проверены и обработаны. Например, модель может содержать методы для расчета цен, валидации ввода или преобразования данных.
  3. Взаимодействие с базой данных:
    Модель часто связана с базой данных, где хранятся данные приложения. Она включает в себя методы для извлечения, обновления, удаления и сохранения данных в базе.
  4. Обработка и подготовка данных для представления:
    Модель передает данные контроллеру, который подготавливает их для отображения в представлении.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Взаимодействие модели с другими компонентами

A
  1. С контроллером:
    Модель передает данные контроллеру, который использует их для обработки запроса и формирования ответа.
  2. С сервисами:
    В более сложных приложениях модель данных управляется через сервисный слой. Сервисы обрабатывают бизнес-логику, а модель лишь хранит данные.
  3. С базой данных:
    Через репозитории или DAO (Data Access Objects) модель может сохраняться, извлекаться, обновляться или удаляться из базы данных.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly