Spring Kotlin Bean DSL - 仅当存在其他 bean 时才注册 bean?
Spring Kotlin Bean DSL - register bean only if other bean is present?
我只想在上下文中存在另一个 bean (anotherBeanThatShouldBePresent
) 时注册 bean (MyBean
)。
我怎样才能做到这一点?
bean {
MyBean(
anotherBeanThatShouldBePresent = ref()
)
}
您可以使用 ObjectProvider 来创建依赖于另一个 bean 的 bean
bean {
provider<OtherBeanOnWhichIDepend>().ifAvailable {
bean<MyCustomBean>()
}
}
使用此代码,仅当 OtherBeanOnWhichIDepend bean 可用时,我才会注册 MyCustomBean
我只想在上下文中存在另一个 bean (anotherBeanThatShouldBePresent
) 时注册 bean (MyBean
)。
我怎样才能做到这一点?
bean {
MyBean(
anotherBeanThatShouldBePresent = ref()
)
}
您可以使用 ObjectProvider 来创建依赖于另一个 bean 的 bean
bean {
provider<OtherBeanOnWhichIDepend>().ifAvailable {
bean<MyCustomBean>()
}
}
使用此代码,仅当 OtherBeanOnWhichIDepend bean 可用时,我才会注册 MyCustomBean