Wie von anderen gesagt, ist dies nicht möglich mit der @Profile
Annotation und kann nur durch die Umsetzung Ihrer eigenen Condition
getan werden.
, das zu tun, müssen Sie eine Anmerkung erstellen (zB. @ConditionalOnProfileSuffix
) und eine Implementierung von Condition
zu schaffen (der einfachste Weg ist, um von SpringBootCondition
erstreckt).
Nachdem die Sie haben Ihre bedingte Anmerkung mit der @Conditional
Anmerkung, zum Beispiel mit Anmerkungen versehen:
@Conditional(OnProfileSuffixCondition.class)
Innerhalb OnProfileSuffixCondition
(die Umsetzung der SpringBootCondition
), können Sie die aktiven Profile abrufen, indem Sie mit:
conditionContext.getEnvironment().getActiveProfiles()
Um die Werte aus der Anmerkung abrufen Sie verwenden können:
annotatedTypeMetadata.getAllAnnotationAttributes(ConditionalOnProfileSuffix.class.getName());
Dadurch wird MultiValuedMap
zurückgegeben, wobei der Schlüssel der Name der Annotationseigenschaft ist und der Wert ein beliebiges Objekt ist (abhängig vom Typ).
Sie können nicht ... Schreiben Sie Ihre eigene Regel, die das tut. –