帮助我解决这个小困惑,因为我是 grails 的新手,并且正在使用 spring 处理 grails
ref 到 secondBean 中的 firstBean 和 resources.groovy 中的 thirdBean 之间有什么区别吗
beans = {
firstBean(someclass)
secondBean(someotherclass) {
property = firstBean
}
thirdBean(someotherclass) {
property = ref(firstBean)
}
}
最佳答案
在您的示例中,几乎没有任何区别。你基本上得到了你刚刚在那里定义的对象。所以这只有在你可以订购你的代码的情况下才有效,所以这有效,并且如果引用在你的 resources.groovy
内。 .更常见的情况是使用 ref
带有字符串,可以“前向引用”。例如。
beans = {
// fails! print b1
// fails! print ref(b1)
print ref("b1")
b1(Expando)
print b1
print ref(b1)
print ref("b1")
}
我会使用
ref(<String>)
为了更好地衡量,为底层的 spring 注入(inject)框架提供处理其依赖项的最简单方法(例如,只需要在需要时创建组件)。
关于spring - grails:spring:resources.groovy - 使用和不使用 ref() 引用 bean 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29144847/