Grails Spring DSL的依赖注入

时间:2011-04-13 11:12:08

标签: spring grails groovy dependency-injection

当我使用Grails提供的Spring DSL时,可以进行构造函数注入。如果是这样,我们将非常感谢一个例子。

如果构造函数注入不可行,是否有其他方法可以注入spring bean而不会使依赖项公共属性。在Java项目中使用Spring我可以这样做

class Foo {

  @Autowired
  private Bar bar
}

它将按名称或类型

自动装配Bar依赖项

2 个答案:

答案 0 :(得分:4)

即使使用BeanBuilder DSL也可以使用构造函数注入

bb.beans {
    exampleBean(MyExampleBean, "firstArgument", 2) {
        someProperty = [1,2,3]
    }
}

每当你想引用其他bean作为构造函数参数时,使用ref()方法

bb.beans {
    exampleBean(MyExampleBean, "firstArgument", ref('anotherBean')) {
        someProperty = [1,2,3]
    }
}

答案 1 :(得分:2)

您应该能够inject a bean into the constructor使用@Autowired注释,就像您在Spring中通常所做的那样。这是一个例子:

class Foo {
    private final Bar bar

    @Autowired
    public Foo(Bar bar) {
        this.bar = bar
    }
}