Pascal4eg

 Java | Фишки и трюки

Внедрение зависимостей (Dependency Injection)

@Service
public class Toyota implements Car {

    @Autowired
    private Engine engine;

    @Override
    public String getInfo() {
        return "Model: Toyota, Engine: " + engine.getInfo();
    }
}

Внедрение зависимостей (Dependency Injection) — это шаблон проектирования, который способствует слабой связи между компонентами системы. С помощью внедрения зависимостей вы можете внедрять зависимости в класс вместо того, чтобы создавать их внутри класса, что снижает сложность и зависимости вашего кода.

Внедрение зависимостей также может сделать ваш код более гибким и простым для тестирования, что делает его ценным методом изучения для разработчиков Java.

Библиотек для внедрения зависимостей существует огромное множество, например: Dagger2, Guice, Weld. Ну и конечно в популярном фреймворке Spring так же есть встроенная поддержка dependency injection.