在我的应用程序中,我使用了几个 资料来使某些 bean 符合自动装配的条件。我所遗漏的是,当某个配置文件不活动时,可以让 bean 符合自动装配的条件。
我认为最好的方法是这样的:
X
not_X
@Profile("not_B")
然而,这个解决方案需要预先了解所有可能的配置文件。
你能想到更好的解决办法吗?
您可以使用 not (!)操作符... 但必须使用 Spring 3.2 M1。
现在支持以下语法 <beans profile="A,!B"> @Profile({"A", "!B"}) 指示只有当配置文件“ A”处于活动状态或配置文件“ B”不处于活动状态时才应处理元素或带注释的组件。
现在支持以下语法
<beans profile="A,!B"> @Profile({"A", "!B"})
指示只有当配置文件“ A”处于活动状态或配置文件“ B”不处于活动状态时才应处理元素或带注释的组件。
请参阅此处公布的更改: Spring Framework 3.2 M1发布 提交位于 GitHub: 支持 not (!)操作符用于配置文件选择 在 JIRA 的问题: < a href = “ https://JIRA.spring.io/浏览/SPR-8728”rel = “ norefrer”> SPR-8728
如果您的项目无法升级到 Spring 3.2,我建议不要使用 @Profile方法,并确保在您的 Spring 配置中没有创建 bean。
@Profile