PropertySource no está disponible durante la evaluación ConditionalOnExpression

Tengo esta siguiente clase de componente que me gustaría instanciar dependiendo de una propiedad;

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

El archivo components.properties tiene la siguiente propiedad;

components.enabled=componentA,componentB,componentD

El problema es ese@PropertySource("classpath:components.properties") parece no estar disponible durante la evaluación de@ConditionalOnExpression("'${components.enabled}'.contains('componentA')").

Por otro lado, si pongo elcomponents.enabled=componentA,componentB,componentD propiedad dentro de las botas de primaveraapplication.properties archivo, la propiedad está disponible durante la evaluación ConditionalOnExpression y funciona como se esperaba.

Sin embargo, me gustaría usarcomponents.properties para mantener las propiedades específicas de todos los componentes en el mismo lugar.

¿Alguna idea de si PropertySource no es efectivo durante ConditionalOnExpression?

Respuestas a la pregunta(1)

Su respuesta a la pregunta