Java: Веб-технологии
2026-02-26 16:58 Diff

Среди сайтов выделяют две категории:

  • Статические сайты состоят из готовых наборов HTML-страничек и не содержат программного кода на бэкенде. Например, так сделаны гайды Хекслета
  • Динамические сайты формируют свои странички на основе информации, которую разработчики и пользователи сайта добавляют в базу данных. Наглядные примеры — соцсети или почтовые сервисы

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

Что такое репозиторий

Репозиторий, специальный класс который занимается тем, что сохраняет данные объектов куда-то, обычно в базу данных. Репозитории позволят хранить данные между запросами к сайту. Но наша реализация репозиториев будет хранить данные в памяти приложения, без их сохранения в базу. Это значит, что если перезапустить приложение, то данные пропадут.

Почему мы так решили не работать с базами данных? В ближайших уроках мы сосредоточимся на том, как работает веб. Чтобы изучить эту тему, достаточно хранить данные в памяти, не отвлекаясь на работу с базой данных. Подключением базы мы займемся в конце курса.

Посмотрим на примере, как работают репозитории:

У этого класса есть несколько статических методов для сохранения и извлечения объектов. Этого достаточно для наших задач.

Ниже мы приводим исходный код класса CourseRepository для тех, кому интересно:

Точно такой же класс мы создадим под каждую сущность, с которой будем работать.