PropertySource nicht verfügbar während der Auswertung von ConditionalOnExpression
Ich habe die folgende Komponentenklasse, die ich abhängig von einer Eigenschaft instanziieren möchte:
@Component("componentA")
@PropertySource("classpath:components.properties")
@ConditionalOnExpression("'${components.enabled}'.contains('componentA')")
public class ComponentA implements ComponentIF {
...
ie Datei @ components.properties hat die folgende Eigenschaft:
components.enabled=componentA,componentB,componentD
Das Problem ist, dass@PropertySource("classpath:components.properties")
scheint bei der Auswertung von @ nicht verfügbar zu se@ConditionalOnExpression("'${components.enabled}'.contains('componentA')")
.
uf der anderen Seite, wenn ich dascomponents.enabled=componentA,componentB,componentD
Eigenschaft innerhalb des Spring-Boot'sapplication.properties
-Datei, die Eigenschaft wird während der Auswertung von ConditionalOnExpression verfügbar und funktioniert wie erwartet.
Allerdings würde ich gerne @ verwendcomponents.properties
, um alle komponentenspezifischen Eigenschaften an derselben Stelle zu speichern.
Haben Sie eine Idee, ob PropertySource während ConditionalOnExpression nicht wirksam ist?