Отредактируйте переменную среды в application.properties перед запуском Spring

#spring #replace #environment-variables #application.properties

Вопрос:

Я хотел бы знать, можно ли редактировать/манипулировать переменными среды, прежде чем Spring будет использовать их в файле application.properties.

Пример использования:
У меня есть env var, ENV_VAR_EXAMPLE=EXAMPLE-1234 , и я хотел бы повторно использовать его для схемы базы данных, но с подчеркиванием, ПРИМЕР_1234.

Я подумал, может быть, это возможно с помощью манипуляций со строками .replace('-','_') Идея состоит в том, чтобы использовать что-то вроде этого:

 original.property=${ENV_VAR_EXAMPLE} // This would become EXAMPlE-1234    
schema.name=${ENV_VAR_EXAMPLE.replace('-','_')} // This uses the same var, but will be EXAMPLE_1234
 

К сожалению, это решается как строка вместо замены.

Моя идея была основана на свойстве, которое использует random.int заявление перед запуском.

 kafka.broker.port=${random.int[20000,50000]}