私は.yml
ファイルで定義された多くのプロパティを持つスプリングブートアプリケーションを持っています。ファイル内のプロパティを持つことからクラウド内にあることに変わりつつあります。このために、私は春のクラウド領事でキー/値の機能を使用しています。spring cloud consulから値/プロパティをロードする正しい方法
私は領事から指定されたキーの値を取得することですが、私はそれを行うことができました文書化され、唯一の方法を見てきた唯一の方法はとても似ている:
@Autowired
private Environment env;
@RequestMapping("/test")
String home() {
return env.getProperty("test.property");
}
これは結構ですそして、ダンディが、私はまだのプロパティに古いやり方ロードするように設定されているいくつかの既存のクラスがあります:私のプロジェクトに春のクラウド領事の依存関係を追加した後
@Value("${test.property}")
String testProperty;
を、私はすべてのこれらのプロパティはできないという新たなエラーを取得します解決されました。私はそれが春のブートは、領事の依存関係を見て、ymlファイルまたはその部分を無視しているためだと仮定します。
クラス内のコードを変更することなく、これらのプロパティをconsulからロードする方法はありますか?または、env
オブジェクトを使用する例に従うためにこれらのクラスを変更する必要がありますか?
また、この特定の目的のためにスプリングクラウド領事がスプリングブーツでどのように動作するかについてのさらなる洞察は非常に認められます。そこにはたくさんのドキュメントがありません。
Spring Cloud Config Clientで使用している場合、 '@ Value'は単純に機能します。 –
@ M.Deinum私は、私は春の雲の領事を使用していない – Seephor
それはサーバー側である、春の雲の領事は非常に簡単に春の雲の設定と統合することができますし、あなたが望むものをアウト - オブ - http://cloud.spring.io/spring-cloud-consul/spring-cloud-consul.html(最後のセクション)を参照してください。 –