@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 — что спрашивают на самом деле
В этом посте были ссылки, но мы их удалили по правилам Сетки