Spring kotlin 的 bean 定义 dsl 中的求值顺序?

Order of evaluation in Spring bean definition dsl for kotlin?

我想知道什么时候考虑 environment 方法。

考虑以下代码:

bean { Bar(ref()) } // requires bean of type Foo
environment(
    { !activeProfiles.contains("local") },
    { ProdFoo() }))
environment(
    { activeProfiles.contains("local") },
    { bean<LocalFoo>() })

有时我观察到与没有 Foo 类型的 bean 相关的错误。这是否意味着 environment 未被评估为第一个表达式之一?

答案很简单——我忘了​​把 ProdFoo() 换成 bean{ ... }