Spring -boot: установить значение по умолчанию для настраиваемых свойств
У меня есть класс свойств ниже в моем проекте spring -boot.
@Component
@ConfigurationProperties(prefix = "myprefix")
public class MyProperties {
private String property1;
private String property2;
// getter/setter
}
Теперь я хочу установить значение по умолчанию для другого свойства в файле application.properties для property1
. Как и в примере ниже, использование @Value
@Value("${myprefix.property1:${somepropety}}")
private String property1;
Я знаю, что мы можем назначить статическое значение, как в примере ниже, где "значение по умолчанию" назначается как значение по умолчанию для property
,
@Component
@ConfigurationProperties(prefix = "myprefix")
public class MyProperties {
private String property1 = "default value"; // if it static value
private String property2;
// getter/setter
}
Как это сделать, используя класс @ConfigurationProperties (скорее, типы конфигурации конфигурации) в загрузке spring, где мое значение по умолчанию является другим свойством?
Ответы
Ответ 1
Проверить, установлено ли свойство1 с помощью @PostContruct в вашем классе MyProperties. Если это не так, вы можете назначить его другому свойству.
@PostConstruct
public void init() {
if(property1==null) {
property1 = //whatever you want
}
}