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?