Spring Boot: значение по умолчанию в application.properties не используется, если в Docker отсутствует переменная среды.JAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Spring Boot: значение по умолчанию в application.properties не используется, если в Docker отсутствует переменная среды.

Сообщение Гость »

У меня есть следующие записи в моем application.properties:

Код: Выделить всё

host=${HOST:http://host.com}
organization.id=${ORGANIZATION_ID:123}
contenttype.id=${CONTENTTYPE_ID:110}
И я ввожу их так:

Код: Выделить всё

@Configuration
@Getter
@Setter
public class ConfigProperties {

@Value("${host}")
private String host;

@Value("${organization.id}")
private String organizationId;

@Value("${contenttype.id}")
private String contentTypeId;
}
Мое намерение:
  • Если переменная среды (например, ORGANIZATION_ID) представлена, используйте ее
  • Если она не указана, используйте значение по умолчанию, определенное после двоеточия
Проблема
Когда я запускаю приложение в Docker без установки ORGANIZATION_ID в файле .env, приложение не запускается с такой ошибкой:

Код: Выделить всё

Caused by: org.springframework.util.PlaceholderResolutionException:
Could not resolve placeholder 'organization.id' in value "${organization.id}"

Это выглядит так, будто значение по умолчанию из application.properties игнорируется.
Вопрос
Почему Spring Boot не использует значение по умолчанию из application.properties, когда переменная среды отсутствует внутри Docker, и как я могу заставить Spring использовать значение по умолчанию, если переменная env не определена?
Мне нужен Spring чтобы:
  • использовать значение из среды, если оно существует
  • в противном случае использовать значение по умолчанию из application.properties
Но не потерпеть неудачу, когда переменная env просто не указана.

Любая помощь оценил!

Подробнее здесь: https://stackoverflow.com/questions/798 ... ironment-v
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»