【发布时间】:2014-06-19 10:27:27
【问题描述】:
我有一个 bean,只有当两个配置文件“demo”和“local”都处于活动状态时才应该创建它。在基于 java 的 Spring 配置中实现这一目标的最佳方法是什么。
到目前为止,我想出的是,创建如下 bean:
@Profile("demo")
@Bean("isDemoActive")
public Boolean isDemoActive(){ return true;}
然后将那些注入到 bean 创建方法中并对这些 bean 执行 if 条件。
有没有更好/更简单的方法来做这种事情?
【问题讨论】:
-
我认为你需要使用@Conditional注解来定义你自己的匹配规则。在实现
Condition的课程中,您可以使用context.getEnvironment().getActiveProfiles()访问活动配置文件。在那里你检查哪些是活动的并返回true或false。
标签: spring spring-java-config spring-profiles