Встречается на собеседованиях • сегодня

Что имеет приоритет при загрузке внешних конфигураций в Spring

В Spring порядок загрузки конфигураций определяется приоритетами, от высшего к низшему:

  1. Аргументы командной строки (--property=value)
  2. JNDI-атрибуты из java:comp/env
  3. Java System Properties (System.getProperties())
  4. Переменные окружения (OS environment variables)
  5. application-{profile}.properties/.yml (Profile-specific)
  6. application.properties/.yml (Основной файл)
  7. @PropertySource аннотации
  8. Значения по умолчанию (через SpringApplication.setDefaultProperties)

Пример с профилями:

java
// application.properties
app.name=DefaultApp

// application-dev.properties
app.name=DevApp

// При запуске с профилем dev
@Value("${app.name}") // Будет "DevApp"
private String appName;

Важно: свойства из более высокого приоритета переопределяют нижние. Внутри одного уровня .yml имеет приоритет над .properties.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы