Spring Boot — автоматическая настройка, если существует какое-либо свойство с префиксом

Я пытаюсь зарегистрировать автоконфигурацию с помощью @ConditionalOnProperty. Эту конфигурацию следует создавать при наличии любого свойства с предопределенным префиксом.

Например, эту конфигурацию следует создавать при наличии одного из свойств, перечисленных ниже.

test.property.any-text-goes-here.some-nested-property=test
test.property.nested.nested-two=another

Я пытался использовать @ConditionalOnProperty с name=test.property, но, похоже, это не работает. Возможно, с этим можно разобраться с помощью @ConditionalOnExpression, но я понятия не имею, как должно выглядеть выражение SpEL.

Мне интересно, есть ли способ добиться этого без необходимости реализации пользовательских Condition.

Спасибо за вашу помощь!


person geobreze    schedule 19.05.2021    source источник
comment
Это невозможно без создания пользовательского файла Condition. Это также может помочь вам stackoverflow.com/questions/51257432/   -  person Marcos Barbero    schedule 29.07.2021


Ответы (1)


К сожалению, это невозможно. @ConditionalOnProperty оценивает и сравнивает только окончательные значения свойств в плоской структуре. На объектах не работает :(

person Michal    schedule 29.07.2021