在我的应用程序中,我使用了几个配置文件来使某些 bean 符合自动装配的条件。我缺少的是当某个配置文件不活动时使 bean 有资格进行自动装配的可能性。
我想到的最好的方法是这样的:
- 假设我们有一个所有可能配置文件的列表,例如{A, B, C, D}。
- 对特定执行活动的配置文件是 {A, C}。
- 我所做的是为所有可能的非活动配置文件创建人工配置文件。在示例情况下,我将创建 {not_B, not_D} 配置文件。
- 我想根据
X
我为 profile激活的非活动配置文件激活 beannot_X
。在我的情况下,如果我希望 bean 在配置文件 B 不活动时有资格进行自动装配,我会注释它们@Profile("not_B")
但是,此解决方案需要预先了解所有可能的配置文件。
你能想出更好的解决方案吗?