Этап 1 из 10 · ≈ 4 ч

Конфигурация и контекст

Основа с Junior

ApplicationContext, профили, properties, @ConfigurationProperties.

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

  • Порядок источников: переменные окружения переопределяют файлы.
  • Профили — разные настройки для окружений.
  • @ConfigurationProperties лучше россыпи @Value.
  • Секреты — из окружения или хранилища, не в репозитории.

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

Junior ≈ 4 ч

  • Настраивает приложение через application.yml, профили и переменные окружения

Практика. Вынести все настройки сервиса в application.yml с профилями dev и prod.

Middle ≈ 4 ч

  • Связывает настройки в типизированные @ConfigurationProperties с валидацией
  • Использует события контекста и условные бины

Практика. Описать настройки внешней интеграции классом @ConfigurationProperties с валидацией и тестом.

Проверка знаний

Войдите, чтобы пройти тест: сданный тест отмечает тему пройденной на карте и в ИПР.

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

Смотреть все
Что такое ApplicationContext в Spring?Junior

ApplicationContext — контейнер бинов: создаёт их, внедряет зависимости, управляет жизненным циклом и даёт инфраструктуру — события, свойства, профили, ресурсы.

Полный разбор
Зачем нужны Spring profiles?Middle

Профили включают разные бины и свойства под окружение: @Profile("dev") на бине, application-prod.yml для свойств, активация через spring.profiles.active.

Полный разбор
Как корректно получать prototype-бин внутри singleton-бина, чтобы каждый раз создавался новый экземпляр?Senior

Singleton создаётся один раз, и prototype внедряется в него один раз — «застывает». Новый экземпляр при каждом использовании дают ObjectProvider<T>.getObject(), @Lookup-метод или scoped proxy.

Полный разбор
Сколько экземпляров бина со scope singleton создаст контейнер?Junior

Один экземпляр на контекст — не на всю JVM, как классический паттерн. Два контекста — два экземпляра; можно создать объект класса и вручную через new.

Полный разбор
Как Spring Boot работает с внешней конфигурацией?Middle

Spring Boot собирает свойства из многих источников — application.yml, профильных файлов, переменных окружения, аргументов командной строки — в единое Environment. Читают их через @Value (точечно) или @ConfigurationProperties (группой в объект).

Полный разбор
Чем @ConfigurationProperties удобнее @Value для группы настроек?Middle

@ConfigurationProperties связывает целый префикс настроек с типизированным объектом: вложенные структуры, списки, Duration и DataSize, валидация при старте, подсказки в IDE. @Value — для одиночных значений.

Полный разбор
Какой scope у Spring-бина по умолчанию?Junior

По умолчанию singleton — один экземпляр на контейнер, общий для всех потоков. Ещё: prototype (новый на каждый запрос к контейнеру), веб-scope request, session, application, websocket.

Полный разбор
Что делает аннотация @Autowired?Junior

@Autowired — точка внедрения: контейнер находит бин по типу и подставляет. Несколько кандидатов — уточняют @Primary, @Qualifier или имя.

Полный разбор

Разборы темы

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

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования