Этот проект создан для изучения концепции внедрения зависимостей (Dependency Injection, DI) в Java с использованием рефлексии.
DI позволяет упростить создание объектов с множеством зависимостей,
автоматически инициализируя их через специальное контекстное хранилище объектов.
Приложение упаковано в Docker контейнер.
Проект использует:
- Java 21
- Maven
- Checkstyle
- Docker
-
Установите и запустите Docker.
-
Склонируйте репозиторий
git clone https://github.com/hrodvar-one/job4j_di
- Перейдите в папку куда склонировали проект
cd job4j_di
- В командной строке выполните команду:
docker build -t job4j_di . && docker run job4j_di
- Ждём сборку и запуск контейнера с приложением.
- При успешном запуске контейнера в консоль выведет результат работы упакованного приложения:
Petr Arsentev
Ivan ivanov
Store— хранилище данных.StartUI— класс, управляющий взаимодействием с пользователем.Context— DI-контейнер, который управляет зависимостями между объектами.ConsoleInput— ввод данных с консоли.Main— точка входа в программу.
- В Context регистрируются классы
Store,StartUI,ConsoleInput. - Context создает объекты, анализируя их зависимости.
- StartUI получает зависимости (
Store,ConsoleInput) автоматически. - Программист извлекает готовый объект
StartUIиз Context и использует его.