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

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

Сообщение Anonymous »

У меня есть следующие записи в файле 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 файл, приложение не запускается с этой ошибкой:

Причина: org.springframework.util.PlaceholderResolutionException: не удалось разрешить заполнитель 'organization.id' в значении "${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»