0

我在Grails 2.4服务部分创建了一个服务。在控制器中,它使用依赖注入并自动初始化。我想使用来自文件夹ClassifiedService中定义的自定义帮助程序类的相同服务。src/groovy

问题1:我应该直接调用服务如下:

ClassifiedService classifiedService = new ClassifiedService()

如果我尝试使用 Grails 的依赖注入,如下所示,该对象始终为空。

def classifiedService

问题2:建议为Service方法创建一个接口并使用它并用实际的类对其进行初始化?

4

1 回答 1

2

您可以将您的助手类添加到conf/spring/resources.groovy

import foo.bar.MyHelperClass

beans = {
   myHelperClass(MyHelperClass)
}

这将创建一个名为myHelperClassclass的 bean MyHelperClass。此 bean 中的所有字段都是自动装配的(依赖注入自动发生)。

在此之后,您可以将服务依赖项添加到myHelperClassusing

def classifiedService

您还可以将帮助程序类注入控制器和服务。如果您需要访问控制器/服务之外的帮助程序类,您可以使用

def helper = grailsApplication.mainContext.getBean('myHelperClass')

有关更多详细信息,请参阅Grails 文档中的spring部分

于 2014-06-12T11:24:29.380 回答