2012-08-02 7 views
24

私はPropertyPlaceholderConfiguratorでspring 3を使用しています。春に必須のプロパティを定義する方法はありますか?

私のプロパティのコードは次のように次のようになります。

@Configuration 
public class MyProps { 

    @Value("${prop1}") 
    public String prop1; 

    ... 
} 

私は春が、それは、コンテキストの初期化に失敗するファイルの私の.propertiesでPROP1を持っていない場合。

質問は、このプロパティが必須ではないことをどのように定義できますか?いくつかの注釈、構成?

答えて

50

あなたはデフォルト値を使用することができます。

@Value("${prop1:}") 
public String prop1; 

プロパティが定義されていない場合、springは空の文字列を挿入します。構文は${property:defaultValue}です。

+24

null値を設定することもできます:@Value( "$ {prop1:#{null}}") – kieste

8

私は単一のプロパティをオプションにすることが可能であるのかはわからないが、確かにあなたは未解決の特性を無視して、プロパティのプレースホルダを強制することができます。

<context:property-placeholder ignore-unresolvable="true" ... /> 
+0

この場合、すべてのプロパティは必須ではありませんが、一部の選択されたプロパティのみをオプションにし、残りを必須にします。いくつかの注釈でこれを行うことはできますか? – Julias

+0

の場合、別のプロパティープレースホルダを書くことができます。 – Ajeetkumar

関連する問題