Внедрение зависимостей (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.