Встречается на собеседованиях • сегодня
Какие знаешь способы инъекций в Spring
В Spring есть несколько типов инъекций зависимостей (DI):
- Constructor Injection (рекомендуемый способ):
java
@Service
public class UserService {
private final UserRepository repo;
@Autowired
public UserService(UserRepository repo) {
this.repo = repo;
}
}- Setter Injection:
java
@Service
public class UserService {
private UserRepository repo;
text
@Autowired
public void setRepo(UserRepository repo) {
this.repo = repo;
}}
text
3. **Field Injection** (не рекомендуется, но используется):
```java
@Service
public class UserService {
@Autowired
private UserRepository repo;
}- Метод произвольного класса (реже используется):
java
@Configuration
public class AppConfig {
@Bean
public UserService userService(@Autowired UserRepository repo) {
return new UserService(repo);
}
}Spring 4.3+ позволяет опускать @Autowired для конструкторов, если в классе только один конструктор. Лучшая практика — использовать constructor injection, так как он обеспечивает неизменяемость и удобен для тестирования.

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