はい、これは異なる環境のプロファイルを設定することで少し気になります。
パスワードの「実行時」の設定で十分ではありませんが、オブジェクトを置き換えることはできますが、スプリング・ビーン・プロファイルとして維持されます。
このようなものです。
@Configuration
@Profile("dev")
public class StandaloneDataConfig {
@Bean
public DataSource dataSource() {
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.HSQL)
.addScript("classpath:com/bank/config/sql/schema.sql")
.addScript("classpath:com/bank/config/sql/test-data.sql")
.build();
}
}
プロダクション用のプロファイルをロードしますか?
@Profile("production")
で別のプロファイルを定義し、クラスパスの場所からプロパティファイルをロードする必要があります。
は春のブートを使用すると、これはあなたがパスワードを変更し、それが必要とされるたびにサーバーをバウンスすることができます
SPRING_PROFILES_ACTIVE=production mvn spring-boot:run
としてあなたのプロフィールをアクティブにすることができます。パスワードを変更すると、接続は再起動する必要があります。理想的には、これは仕事を簡単にするはずです。
明示的にユーザーに問い合わせるのではなく、プロパティまたは環境変数を使用することをお勧めします。 – chrylis
クライアントは "ローカル"で実行され、適切な運用環境にはインストールされません。また、運用用パスワードはローカルファイルには入れません。彼らは、データベースに対して使用するパスワードを知っており、それを実行時に提供します。 – Ziggy000