我有一堆 Spring bean,其中一些需要从其他 bean 初始化,其中一些需要从其他 bean 的属性初始化。例如:
Foo {
}
Bar {
String getBaz()
}
Qux {
Qux(Foo foo, String baz)
}
我以为我可以写类似的东西
beans = {
foo(Foo) {}
bar(Bar) {}
qux(Qux, ref('foo'), ref('bar').baz) {}
}
但显然这不起作用,因为ref('bar')
不是 Bar,而是RuntimeBeanReference
.
在普通的 Spring (3+) 中,我想要的显然可以使用spring 表达式,但我无法弄清楚 Grails Spring DSL 的必要语法。可以做到吗?