Spring IoC контейнер: внедрение зависимостей на основе конструктора
DI на основе конструктора выполняется контейнером, вызывающим конструктор с несколькими аргументами, каждый из которых представляет зависимость. Вызов статического метода фабрики со специфическими аргументами для создания компонента почти эквивалентен, и в этом обсуждении аргументы конструктора и статического метода фабрики аналогичны. В следующем примере показан класс, который может быть внедрен только в зависимости с помощью конструктора:
Java
public class SimpleMovieLister {
// SimpleMovieLister имеет зависимость от MovieFinder
private MovieFinder movieFinder;
// конструктор, чтобы контейнер Spring мог внедрить MovieFinder
public SimpleMovieLister(MovieFinder movieFinder) {
this.movieFinder = movieFinder;
}
// бизнес-логика, которая фактически использует внедренный MovieFinder, опущена ...
}
Kotlin
// конструктор, чтобы контейнер Spring мог внедрить MovieFinder
class SimpleMovieLister(private val movieFinder: MovieFinder) {
// бизнес-логика, которая фактически использует внедренный MovieFinder, опущена ...
}
Обратите внимание, что в этом классе нет ничего особенного. Это POJO, который не зависит от конкретных интерфейсов контейнера, базовых классов или аннотаций.
Читайте также:
- Spring IoC контейнер: зависимости
- Spring IoC контейнер: обзор Bean, создание экземпляра Bean с помощью статического фабричного метода
- Spring IoC контейнер: обзор Bean, создание экземпляра Bean
Комментарии
Отправить комментарий