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

Какая проблема возникнет при Self Injection

Self Injection (самовнедрение) происходит, когда бин внедряет сам себя через зависимости, создавая бесконечную рекурсию при инициализации. Это приводит к StackOverflowError из-за переполнения стека вызовов.

Пример с Spring:

java
@Service
public class OrderService {
    @Autowired
    private OrderService self; // Self Injection!

    public void process() {
        self.validate(); // Рекурсивный вызов
    }
}

Проблемы:

  1. Бесконечная рекурсия при создании бина
  2. Циклическая зависимость, которую контейнер не может разрешить
  3. Неочевидное поведение приложения

Решение: использовать @Lazy или пересмотреть архитектуру, избегая самовнедрения.

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

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

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

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