В моем приложении я использую несколько профилей, чтобы сделать определенный beans доступным для автоподготовки. То, что мне не хватает, - это возможность сделать bean подходящим для автоустройства, когда определенный профиль НЕ активен.
Лучший способ сделать это, о котором я думал, - вот что:
- Предположим, что у нас есть список всех возможных профилей, например. {A, B, C, D}.
- Профили, активные для конкретного выполнения, являются {A, C}.
- Я создаю искусственные профили для всех возможных профилей, которые неактивны. В примере я создавал бы профили {not_B, not_D}.
- beans Я хочу быть активным на основе неактивного профиля
X
Я делаю активным для профиляnot_X
. В моем случае, если бы я хотел, чтобы bean имел право на автоссылку, когда профиль B неактивен, я бы аннотировал их@Profile("not_B")
Однако это решение требует предварительного знания всех возможных профилей.
Можете ли вы придумать какое-нибудь лучшее решение?