2016-11-04 8 views
0

私は春の起動アプリケーションでいくつかの種類のプロパティ検証を行いたいと思っています。私のapplication.propertiesでは、私はこのような何かしている:私は自分のアプリケーションを起動するとApplication.properties validator

log.path= 
logging.config=${log.path}log4j2.properties 

私は不足しているすべてのプロパティに関する情報があるだろうどのメッセージ内のすべての空のプロパティとスロー例外を見つけたいです。 春はそのような仕組みを提供していますか?

答えて

0

application.propertiesのプロパティをbeanのフィールドにバインドするには、@ConfigurationProperties annotationを追加します。あなたもuse JSR-303 validators like @NotNull and @NotEmpty for automatic validationすることができます。

プロパティが多数あり、これらのプロパティごとにフィールドを作成したくない場合は、おそらく、application.propertiesファイルを開いて解析する必要があります。 (しかし、アプリケーションがこれらのプロパティをすべて使用する場合、単一の場所でそれらを検証するためにBeanを作成しないのはなぜですか?)

+0

それは行く方法ですが、悲しいことに、明示的に記述する必要があります。 すべてのプロパティにイテレータがあり、空のプロパティが1つ存在する場合は例外がスローされますか? 私はこれを行う前に、例えばloggerがlog4j2パスを見つけようとする前に、またはデータベースが接続しようとする前に行う必要があります。 その直前に、空のプロパティのリストを作成し、例外でそれを記述し、明示せずにクラスに書き込む – Kapitalny