Ответ 1
Вы можете использовать значение по умолчанию:
@Value("${prop1:}")
public String prop1;
и spring будет вводить пустую строку, если свойство не определено. Синтаксис ${property:defaultValue}
.
Я использую spring 3 с PropertyPlaceholderConfigurator.
Мой код свойства выглядит следующим образом:
@Configuration
public class MyProps {
@Value("${prop1}")
public String prop1;
...
}
Если у меня нет prop1 в моем файле .properties, spring не может инициализировать контекст.
Вопрос в том, как я могу определить, что это свойство не является обязательным? некоторые аннотации, конфигурация?
Вы можете использовать значение по умолчанию:
@Value("${prop1:}")
public String prop1;
и spring будет вводить пустую строку, если свойство не определено. Синтаксис ${property:defaultValue}
.
Я не уверен, возможно ли сделать одно свойство необязательным, но вы можете заставить заполнитель свойств игнорировать неразрешенные свойства:
<context:property-placeholder ignore-unresolvable="true" ... />