我想让我的弹簧引导配置类别A
依赖于另一个配置类别B
,即A
配置仅在评估B
配置时才被评估。如何以另一种配置为条件进行配置?
在现实情况下,我有数以百计的Ai
配置只有一个B
,我想实现一个方法只B
在测试过程中排除,排除所有Ai
CONFIGS。
我试过如下:
@Configuration
@ConditionalOnBean(type = "org.my.B")
public class A1AutoConfiguration {
// ...
}
凡B
是无条件配置类。
但是当我运行mvn spring-boot:run -Ddebug=true
我看到A
是不会求因为B
丢失。虽然B
内部创建的bean在应用程序上下文中,但B
本身不是。
不过,我觉得我可以让Ai
配置类依赖于内部B
创建咖啡豆,但我不喜欢那么多这种解决方案。
是否有更清洁(和工作)的方式来实现这种依赖机制?
我不明白这里有什么问题,你让所有的Ai都依赖于B,并且没有B,因为你明确地排除了B,所以它们没有加载。这不是预期的行为吗?你想做什么? –
不,他们被排除**总是**,而不仅仅是当我禁用'B'。 –