Выбор ответа Junior Spring Boot и автоконфигурация обновлено

@ConfigurationProperties или @Value

Вопрос

Почему для группы настроек лучше @ConfigurationProperties, чем много @Value?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Типобезопасный объект, валидация и подсказки в IDE. ConfigurationProperties связывает целый префикс с объектом (в том числе record), поддерживает вложенные структуры, Duration, списки, валидацию и генерацию метаданных для IDE. @Value годится для одиночных значений, читает любые источники, а…

Варианты ответа

  1. @Value не работает с record и неизменяемыми классами
  2. @Value читает только переменные окружения, а не yml
  3. Типобезопасный объект, валидация и подсказки в IDEправильный ответ
  4. @ConfigurationProperties быстрее читает файл настроек

Разбор

ConfigurationProperties связывает целый префикс с объектом (в том числе record), поддерживает вложенные структуры, Duration, списки, валидацию и генерацию метаданных для IDE. @Value годится для одиночных значений, читает любые источники, а не только окружение. Скорость чтения не аргумент.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме