PropertySource не доступен во время оценки ConditionalOnExpression

У меня есть следующий класс компонентов, который я хотел бы создать в зависимости от свойства;

@Component("componentA")
@PropertySource("classpath:components.properties")
@ConditionalOnExpression("'${components.enabled}'.contains('componentA')")
public class ComponentA implements ComponentIF {
...

Файл component.properties имеет следующее свойство;

components.enabled=componentA,componentB,componentD

Проблема в том, что@PropertySource("classpath:components.properties") кажется, не доступны во время оценки@ConditionalOnExpression("'${components.enabled}'.contains('componentA')").

С другой стороны, если я поставлюcomponents.enabled=componentA,componentB,componentD собственность внутри пружинных сапогapplication.properties файл, свойство становится доступным во время оценки ConditionalOnExpression и работает как положено.

Тем не менее, я хотел бы использоватьcomponents.properties чтобы сохранить все специфические свойства компонентов в одном месте.

Есть идеи, что PropertySource не эффективен во время ConditionalOnExpression?

Ответы на вопрос(1)

Ваш ответ на вопрос