Встречается на собеседованиях • сегодня
Какими способами можно реализовать внедрение зависимостей
В Java есть несколько способов внедрения зависимостей:
- Constructor Injection (рекомендуемый)
java
public class UserService {
private final UserRepository repo;
public UserService(UserRepository repo) {
this.repo = repo;
}
}- Setter Injection
java
public class UserService {
private UserRepository repo;
public void setRepo(UserRepository repo) {
this.repo = repo;
}
}- Field Injection (не рекомендуется)
java
public class UserService {
@Autowired
private UserRepository repo;
}- Interface Injection (редко используется)
java
public interface RepositoryInjector {
void inject(UserRepository repo);
}- Через DI-фреймворки (Spring, Guice, CDI)
java
@Controller
public class UserController {
@Autowired
private UserService userService;
}Лучшие практики: предпочитать constructor injection (легче тестировать, явные зависимости, иммутабельность). Field injection скрывает зависимости и усложняет тестирование.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы