2016-11-15 5 views
0

これを行うかどうかは間違いありませんが、私は内部ライブラリ用のSpring Boot AutoConfigurationを作成しています。 GET/POST/DELETE要求を受け入れるコントローラ(アプリケーションテスト目的のためにクッキー値を設定/クリアする責任があります)@RequestMappingなどの@ConfigurationPropertiesを静的に使用する

問題は、リクエストマッピングパスをエンドユーザが設定できるようにすることです。私は、例えばそのデフォルトですべての設定値が含まれ@ConfigurationProperties(prefix = "my.configs")クラスがあります。private String path = "default-path"

を理想的には私はそうのように私のコントローラでこれを参照することができるだろう:@RequestMapping(path=${my.configs.path})が、これは動作しません、春にはそれができないことを報告しますその構成パラメータを見つけるには、タイプセーフな@ConfigurationPropertiesの代わりにプロパティファイルに配置すると、期待どおりに動作します。

リクエストマッピングにデフォルト値を設定することでこの問題を回避することができますが、ここで何が起きているのか理解したいと思います。また、環境変数を静的に参照することができない/ @ConfigurationPropertiesファイルで定義されていることができます。

答えて

0

@RequestMappingは、Spring MVCアノテーションであり、Spring MVCによって処理されます。これは、Springブートアプリケーションですべてラップされているかどうかにかかわらずです。

@ConfiguationPropertiesは100%のSpringブートコードですが、私の知る限り、両方のタイプのプロパティは、Spring Contextの起動ライフサイクル中の異なる瞬間に処理されます。

関連する問題