我目前遇到了一个问题,我试图在服务中使用服务,但是服务是空的。
class ApplicationService{
def someService
def someMethod(){
someService.method()//null on someService
}
}是否有额外的电线,我需要执行,以使这个工作?提前谢谢你的帮助。
发布于 2018-11-16 03:04:58
我能够通过使用grailsApplication和加载服务来做到这一点。
if(!someService){
someService = grailsApplication.classLoader.loadClass("org.company.SomeService").newInstance()
}发布于 2018-11-28 05:40:16
我这里最可能的解释是,SomeService背后的类不是Grails服务伪物,因此不能这样注入它。
在src/groovy中,重复检查源代码,该类实际上是一个服务,还是只是一个Groovy类。该框架将以不同的方式对待这两种情况。
此外,也不要尝试通过手工创建实例(如您的答案)来注入服务,这不是在Grails (或Spring)中进行依赖注入的正确方法。
https://stackoverflow.com/questions/53329734
复制相似问题