问题很简单,如何在resources.groovy中创建一个bean列表?

像这样的东西不起作用:

beans {
    listHolder(ListHolder){
        items = list(){
            item1(Item1),
            item2(Item2),
            ...
        }
    }
}

先谢谢您的帮助。

最佳答案

如果您想要引用其他命名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')]
    }
}

关于spring - Grails&Spring-在resources.groovy中如何设置列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15831324/

10-11 07:12