Подтвердить что ты не робот

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, где мое значение по умолчанию является другим свойством?

4b9b3361

Ответ 1

Проверить, установлено ли свойство1 с помощью @PostContruct в вашем классе MyProperties. Если это не так, вы можете назначить его другому свойству.

@PostConstruct
    public void init() {
        if(property1==null) {
            property1 = //whatever you want
        }
    }