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

Какая реализация IoC применяется в Spring

Spring использует Inversion of Control (IoC) через Dependency Injection (DI). Контейнер Spring управляет жизненным циклом бинов и их зависимостями, внедряя их автоматически или через конфигурацию.

Основные способы DI в Spring:

  1. Constructor Injection (рекомендуется для обязательных зависимостей):
java
@Service
public class UserService {
    private final UserRepository repository;
text
@Autowired // Опционально (не требуется с Spring 4.3+)
public UserService(UserRepository repository) {
    this.repository = repository;
}

}

text

2. **Setter Injection** (для опциональных зависимостей):  
```java
@Controller
public class UserController {
    private UserService userService;

    @Autowired
    public void setUserService(UserService userService) {
        this.userService = userService;
    }
}
  1. Field Injection (менее предпочтителен из-за сложности тестирования):
java
@Repository
public class UserRepository {
    @Autowired
    private DataSource dataSource;
}

Spring также поддерживает автоматическое связывание через аннотации (@Component, @Service, @Repository, @Controller) и конфигурацию через XML или Java-based (@Configuration + @Bean).

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

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

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

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