使用Spring注入AntBuilder?

时间:2010-02-13 18:14:23

标签: spring grails

我通过插件中的服务分散代码,使用AntBuilder,如下所示:

def ant = new AntBuilder()

这导致代码很难测试我想要注入一个原型范围的AntBuilder,我可以用mock替换它。但是,我几乎是一个春天的新手...我该怎么做?

我试过把它放在/grails-app/conf/spring/resources.groovy中:

beans = {
 antBuilderBean(groovy.util.AntBuilder){b ->
        b.scope="prototype"
    }
}

class MyService {
  def antBuilderBean

但是antBuilderBean为null。如果我将bean定义放在 application 的resources.groovy(而不是 plugin 的resources.groovy)中,那么bean名称将显示在应用程序上下文中,但是antBuilderBean仍然在服务代码中恢复为null。

我在这里需要某种工厂豆吗?或者,我是否必须从Spring上下文中显式构建bean?

1 个答案:

答案 0 :(得分:0)

这适用于我在新应用中复制/粘贴您的代码。尝试运行'grails clean' - 它经常修复这类意外行为的问题。