如何使用Groovy bean配置将匿名内部bean作为构造函数依赖项传递给bean定义

时间:2015-10-20 20:04:48

标签: java spring grails groovy

我想要实现的是等效的Groovy DSL弹簧配置:

<bean id="myBean" class="com.example.SomeBeanWithConstructorArgs">
    <constructor-arg>
        <bean class="com.example.InnerBean">
            <property name="someService" ref="someService"/>
        </bean>
    </constructor-arg>
</bean>

根据docs,您只需将构造函数参数传递给顶级闭包中的bean定义方法调用:beanName(type, constructor-args) // parens optional 但是需要传递的不是值,而是bean的定义。

我知道我可以将bean作为contructor-arg传递为顶层,命名为bean,然后使用ref将其传递给另一个bean,如下所示:

myNamedBean(com.example.InnerBean) {
    someService = ref('someService')
}

myBean(com.example.SomeBeanWithConstructorArgs, ref('myNamedBean'))

但我真的需要com.example.InnerBean成为一个匿名的内部bean。

有没有办法实现这个目标?

提前致谢。

0 个答案:

没有答案