问题很简单,如何在resources.groovy中创建bean列表?
这样的东西不起作用:
beans {
listHolder(ListHolder){
items = list(){
item1(Item1),
item2(Item2),
...
}
}
}
提前感谢您的帮助。
答案 0 :(得分:9)
如果你想要一个对其他名为 bean的引用列表,你可以使用普通的Groovy列表表示法,它将全部得到妥善解决:
beans {
listHolder(ListHolder){
items = [item1, item2]
}
}
但是当"项目"时,这不起作用。需要是匿名内部bean,相当于XML
<bean id="listHolder" class="com.example.ListHolder">
<property name="items">
<list>
<bean class="com.example.Item1" />
<bean class="com.example.Item2" />
</list>
</property>
</bean>
您必须执行类似
的操作beans {
'listHolder-item-1'(Item1)
'listHolder-item-2'(Item2)
listHolder(ListHolder){
items = [ref('listHolder-item-1'), ref('listHolder-item-2')]
}
}
答案 1 :(得分:1)
很简单:
beans {
item1(Item)
item2(Item)
listHolder(ListHolder) {
items = [item1, item2]
}
}
您可以在[Spring with the Beans DSL](http://grails.org/doc/latest/guide/spring.html#14.3 Runtime Spring with the Beans DSL)的文档中找到更多详细信息