L'annotazione Spring Profile consente di selezionare i profili. Tuttavia, se leggi la documentazione, ti consente solo di selezionare più di un profilo con l'operazione OR. Se si specifica @Profile ("A", "B"), il bean sarà attivo se il profilo A o il profilo B sono attivi.Spring: come fare AND in Profili?
Il nostro caso d'uso è diverso, vogliamo supportare le versioni TEST e PROD di più configurazioni. Pertanto a volte desideriamo rendere autowire il bean solo se entrambi i profili TEST e CONFIG1 sono attivi.
C'è un modo per farlo con Spring? Quale sarebbe il modo più semplice?
beh in docs è menzionato come comportamento 'e/o' per' @Profile ("a", "b") '. Non è quello che stai cercando? docs - 'Allo stesso modo, se una classe @Component o @Configuration è contrassegnata con @Profile ({" p1 "," p2 "}), quella classe non sarà registrata/elaborata a meno che i profili 'p1' e/o 'p2' non abbiano stato attivato. –
@JavaBond che significa che è l'operatore "OR" e non "AND". Volevano solo sottolineare esplicitamente che non è esclusivo o (xor) – Artem
Ho aperto un ticket per Spring Source per supportare l'operatore "AND" per l'annotazione del profilo: https://jira.spring.io/browse/SPR-12458 – Artem