gpt4 book ai didi

spring - 在Groovy Bean定义DSL中创建与订单无关的Bean定义

转载 作者:行者123 更新时间:2023-12-02 14:43:03 24 4
gpt4 key购买 nike

我目前在新Groovy Bean Definition DSL中看到的唯一缺点是,必须按依赖关系顺序声明闭包中的bean。例如,虽然这可行:

beans {
repository(RepositoryImpl)
service(ServiceImpl) {
repository = repository
}
}

这行不通:
beans {
service(ServiceImpl) {
repository = repository
}
repository(RepositoryImpl)
}

这是因为闭包中的代码逐行执行。

这是我们在Spring中不习惯的-XML定义被解析为一个DOM,在Java配置中,bean定义是方法,因此声明顺序并不重要。

我做出了一些努力来打破这种闭合,以模仿Java配置(每个bean的闭合/方法),但是我随附的代码极其丑陋和冗长。

有谁知道如何将该闭包重构为多个与顺序无关的代码单元?

附言我知道这种定义样式来自Grails,所以也许Grails社区已经有了答案?

最佳答案

有关使用ref("repository")的注释是建议您完成要完成的工作。
使用ref代替示例中的变量名,与使用Spring ref属性作为bean引用相同。

您可以在Grails and Spring的文档部分中了解有关此内容以及Spring bean builder DSL的其他功能的更多信息。

关于spring - 在Groovy Bean定义DSL中创建与订单无关的Bean定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24647614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com