Spring Bootアプリケーションを使用する場合、異なるapplication.properties
さまざまな環境に応じたファイル。
データベース構成、サーバーIP、管理者のユーザー名/パスワードなどの重要な認証情報を入力します。
私が誰かがアプリケーションのプロパティを取得し、すべての重要な詳細を取得するとどうなるかを心配しています。
重要な認証情報をどこかに配置して、環境に基づいたSpring Bootアプリケーションで取得するための良いアプローチはありますか?
多くのテクニック
トークン置換の使用(maven replacor)
application.properties spring.datasource.password=#MY_DB_PASSWORD#
tokens.properties #MY_DB_PASSWORD#=SECRET_PASSWORD
tokens.propertiesにはアクセス保護があります
環境変数の使用mvn spring-boot:run -Dspring.datasource.password=SECRET_PASSWORD
または単にspring.datasource.password=${myDbPasswordEnv}
プロパティを暗号化するために Jaspyt を使用する
1つの解決策は、アプリケーションプロパティで環境変数とプロパティプレースホルダーを使用することです。たとえば、データベースのパスワードを保存するとします。環境変数を作成します。
setx DEV_DB_PASS <your_dev_database_password>
これで、アプリケーションプロパティファイルで、この値に次のようにアクセスできます。
spring.datasource.password = ${DEV_DB_PASS}
Spring Cloud Configを使用する必要があります。 gitリポジトリなどを使用して中央で構成を管理するのに最適です。