spring - grails:spring:resources.groovy - 使用和不使用 ref() 引用 bean 之间有什么区别

标签 spring grails groovy resources

帮助我解决这个小困惑,因为我是 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/

相关文章:

java - 如何将文件上传集成到 Spring Data REST 存储库中?

java - 如何使用 Spring+JPA 更新来自 Play Framework 2.0 表单的对象?

Grails Spring Security Plugin 使用配置类型注释设置匿名访问

groovy - 如何向常规字符串添加前缀?

spring - 如何在 Spring Data 中使用投影覆盖 findById

java - Log4j2 配置无法写入文件

grails - 使 Grails 操作仅适用于包含

list - Grails Controller : access to parameter that has a list of elements

java - 在运行时暂停 Groovy 脚本

hibernate - 获取一个懒惰的一对多列表的 child