dev と prod の異なるサーバーに接続する必要がある Spring Boot アプリケーションがあり、それらのサーバーで多くのサービスが実行されています。ここまでで、次のような構成を作成しました。
アプリケーションのプロパティ:
server.url.srv1=${server.url.base}/srv1
server.url.srv2=${server.url.base}/srv2
server.url.srv3=${server.url.base}/srv3
アプリケーション-dev.properties:
server.url.base=http://192.168.86.17
アプリケーション prod.properties:
server.url.base=https://10.11.12.3
しかし、Bean 引数を で初期化すると@Value("${server.url.srv1}")
、「http://192.168.86.17/srv1」や「https://10.11.12.3/srv1」ではなく、「${server.url.base}/srv1」という文字列が返されます。 " 予想通り。
これはまったく実行可能ですか?「${}」参照は、すべての構成ファイルがロードされた後にのみ解決されるはずですが、そうではないようです。
Spring サイト、Google (それ以外の場合は便利なBaeldung サイトを参照)、および hereの両方で回答を検索しましたが、特定の質問に関連するものは何も見つかりませんでした。