Я написал простое приложение для весенней загрузки (версия springboot 2.0), которое использует mysql (версия 5.7).
application.properties фрагмент
spring.datasource.url = jdbc:mysql://localhost:3306/test?useSSL=false
spring.datasource.username = testuser
spring.datasource.password = testpassword
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
Когда я запускаю его локально, он работает нормально.
Если я хочу запустить это весеннее загрузочное приложение в Docker, я могу изменить
spring.datasource.url = jdbc:mysql://mysql-container:3306/test?useSSL=false
mysql-контейнер запускается с использованием mysql: 5.7 образа из dockerhub.
Однако я хочу изменить значение хоста из некоторого файла свойств заполнителя. так что это выглядит примерно так:
spring.datasource.url = jdbc:mysql://${MYSQL_HOST}:3306/test?useSSL=false
примечание: я не уверен насчет формата заполнителя. Это $ {MYSQL_HOST} или @ MYSQL_HOST @?
Вы можете назвать этот файл-заполнитель как placeholder.properties или placeholder.conf или .env или как угодно. Содержимое этого файла должно быть примерно таким:
MYSQL_HOST=localhost
или
MYSQL_HOST=some ip address
Я могу создать .env или .env.test или .env.prod, и я могу ссылаться на этот файл env в зависимости от того, где я хочу запустить приложение.
ОБНОВЛЕНИЕ -
У меня два вопроса:
Где мне хранить placeholder.properties? Это в / config / или в каком-то определенном каталоге?
как вызвать заполнитель внутри application.properties?
может кто-нибудь подсказать?