Встречается на собеседованиях • сегодня

Какие знаешь варианты инжектирования бинов в Spring

В Spring есть несколько способов инжекции зависимостей:

  1. Field Injection – через аннотацию @Autowired над полем класса:
java
@Autowired
private UserService userService;
  1. Constructor Injection – рекомендуется, т.к. делает зависимости явными и неизменяемыми:
java
private final UserService userService;

@Autowired
public UserController(UserService userService) {
this.userService = userService;
}

text

3. **Setter Injection** – через сеттер-метод:
```java
private UserService userService;

@Autowired
public void setUserService(UserService userService) {
    this.userService = userService;
}
  1. Method Injection – инжект через любой метод:
java
@Autowired
public void prepare(UserService userService) {
    this.userService = userService;
}

С версии Spring 4.3 @Autowired можно опустить для конструктора с одним параметром. Лучшая практика – использовать Constructor Injection, т.к. он обеспечивает неизменяемость зависимостей и упрощает тестирование.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы