Получить доступ

IoC, DI и бины

Основа с Junior

Внедрение зависимостей, стереотипы и @Bean, жизненный цикл, scopes.

Что важно знать

  • IoC: объекты не создают зависимости сами — их внедряет контейнер.
  • Внедрение через конструктор — обязательные зависимости явно, неизменяемые поля, удобные тесты.
  • @Component, @Service, @Repository, @Configuration + @Bean.
  • Жизненный цикл: создание, внедрение, @PostConstruct, прокси, использование, @PreDestroy.
  • Scopes: singleton по умолчанию, prototype, request, session.

Критерии освоения

Junior ≈ 8 ч

  • Объясняет IoC и внедрение через конструктор и почему оно предпочтительнее
  • Объявляет бины стереотипами и методами @Bean
  • Описывает жизненный цикл бина и scopes singleton и prototype

Практика. Сделать приложение из трёх слоёв (контроллер, сервис, репозиторий) с внедрением через конструктор и тестом сервиса.

Middle ≈ 4 ч

  • Решает конфликты при нескольких кандидатах — @Primary, @Qualifier
  • Объясняет, почему prototype внутри singleton не обновляется и как это исправить

Практика. Разобрать на примере проблему prototype-бина внутри singleton и исправить через ObjectProvider.

Вопросы с собеседований

Разборы темы

← Вся карта «Spring»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем