Это очень распространенная проблема среди всех разработчиков, как защитить учетные данные базы данных, чтобы предотвратить любое неправильное использование, но, поверьте, хранение учетных данных в отдельном файле не принесет особой пользы в ситуацию.
Если кто-тоспособный получить доступ к вашему application.yml, тогда однажды вы также сможете получить доступ к вашему файлу свойств, находящемуся в отдельной папке.
Поняв вашу проблему, что вам нужно отправить свой код в публичный репозиторий, вы должнызащитить то, что твое. У меня мало входных данных.
- вам не нужен отдельный файл свойств и соответствующая переменная в вашем application.yml, вы можете предоставить свои значения и всегда можете переопределить их вне приложения во время приложения
для примера
spring:
datasource:
jdbc-url: myFakeURL
username: MyFakeUserName
password: myFakePAssword
как только вы их определили, вы можете переопределить их как
java -jar -Dspring.datasource.jdbc-url=myRealURL -Dspring.datasource.jdbc-username=myRealUserName -Dspring.datasource.password=myRealpassword myApplication.jar
Помните: это один способ, есть и другие способы
Вы можете создать сценарий оболочки / пакетный файл (содержащий эти свойства) и затем выполнить перед запуском приложения
При весенней загрузке есть несколько вещей, которые ДОЛЖЕН рассмотреть, например, шифрование значений вашего свойства . Spring имеет прекрасную поддержку с Jasypt для зашифрованных свойств и поверьте мне, вам почти не нужно усилий
вы также можете исследовать Управление секретами с хранилищем