Техническое задание: Консольное Java-приложение с логированием
Разработать консольное приложение на Java для управления данными о печатной продукции. Требуется создать иерархию из четырёх классов: печатное издание (базовый), журнал, книга, учебник. В каждом классе должно быть хотя бы одно текстовое и одно числовое поле. Числовые значения вводятся с проверкой типа и допустимого диапазона.
Каждый класс должен иметь конструкторы (без параметров и с параметрами), а также методы equals(), hashCode() и toString().
Приложение должно поддерживать простое текстовое меню:
Добавление нового элемента (объекты всех классов хранятся в коллекции базового типа)
Удаление по индексу
Просмотр всех элементов
Сравнение двух объектов по индексам
Выход
Дополнительно требуется внедрить логгер с помощью AspectJ или Spring AOP. Логируются: имя метода, параметры, результат и необработанные исключения.
Итог — архив проекта или репозиторий с кодом и инструкцией запуска через консоль.