@Value****("${servise.timeout:5000}") — опечатка, которая работает

Ловушка не в самом @Value, а в дефолтном значении после двоеточия. Опечатались в имени свойства — servise вместо service — и Spring не упадёт при старте: просто подставит дефолт.

Приложение поднимется, тесты пройдут, дефолт 5000ms будет тихо работать в проде месяцами. Правильное значение из application.yml так и останется непрочитанным — ключ, который его ищет, никогда не совпадёт с реальным.

@Value("${servise.timeout:5000}") private int timeoutMs;

Спросят: как проверить, что property реально читается. Ответ — @ConfigurationProperties с @Validated и явным полем без дефолта: приложение не поднимется, если свойство не задано. Fail fast вместо тихого дефолта.

Дефолт в @Value — это не страховка, а маскировка для опечатки в ключе.

Тренажёр: 600 вопросов, мок с таймером, план повторов

senior·base — что спрашивают на самом деле


В этом посте были ссылки, но мы их удалили по правилам Сетки