Adnotacja wiosenna Profile umożliwia wybieranie profili. Jednak jeśli czytasz dokumentację, możesz tylko wybrać więcej niż jeden profil z operacją OR. Jeśli wybierzesz @Profile ("A", "B"), twój komponent będzie wyświetlany, jeśli aktywny jest profil A lub profil B.Wiosna: jak zrobić AND w profilach?
Nasz przypadek użycia jest inny, chcemy wspierać wersje TEST i PROD o wielu konfiguracjach. Dlatego czasami chcemy automatycznie wywoływać komponenty bean tylko wtedy, gdy oba profile TEST i CONFIG1 są aktywne.
Czy jest jakiś sposób na zrobienie tego wiosną? Jaki byłby najprostszy sposób?
również w dokumentach wspomniane jest jako zachowanie 'i/lub' dla '@Profile (" a "," b ")'. Czy tego nie szukasz? docs - "Podobnie, jeśli klasa @Component lub @Configuration jest oznaczona @Profile ({" p1 "," p2 "}), ta klasa nie zostanie zarejestrowana/przetworzona, chyba że profile" p1 "i/lub" p2 "mają został aktywowany. " –
@JavaBond co oznacza, że jest operatorem" OR ", a nie" AND ". Chcieli tylko wyraźnie zaznaczyć, że nie jest to wyłączne lub (Xor) – Artem
Otworzyłem bilet do Źródła Wiosny, aby obsługiwać operator "AND" dla opisu profilu: https://jira.spring.io/browse/SPR-12458 – Artem