使用Spring注入AntBuilder?

使用Spring注入AntBuilder?,spring,grails,Spring,Grails,我使用AntBuilder将代码分散在插件中的服务中,如下所示: def ant = new AntBuilder() 这导致代码很难测试,我想注入一个原型范围的AntBuilder,我可以用一个模拟来替换它。但是,我几乎是一个春季新手。。。我该怎么做 我试着简单地把它放在/grails-app/conf/spring/resources.groovy中: beans = { antBuilderBean(groovy.util.AntBuilder){b -> b.s

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

def ant = new AntBuilder()
这导致代码很难测试,我想注入一个原型范围的AntBuilder,我可以用一个模拟来替换它。但是,我几乎是一个春季新手。。。我该怎么做

我试着简单地把它放在/grails-app/conf/spring/resources.groovy中:

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

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


我需要一些工厂用的豆子吗?或者,我必须从Spring上下文或其他什么显式地构建bean吗?

这在一个新的应用程序中非常有效,只需复制/粘贴代码即可。尝试运行“grails clean”-它通常会修复类似这样意外行为的问题。

谢谢!我还发现我可以将bean定义放在GrailsPlugin.groovy doWithSpring()方法中。对不起,没有发现这是在插件中的-doWithSpring()是在插件中注册bean的地方。
class MyService {
  def antBuilderBean