我当前遇到一个问题,我试图在服务中使用服务,但该服务为空
class ApplicationService{
def someService
def someMethod(){
someService.method()//null on someService
}
}
要执行此操作,是否需要执行其他接线?在此先感谢您的帮助。
答案 0 :(得分:0)
我可以通过使用 grailsApplication 并加载服务来做到这一点。
if(!someService){
someService = grailsApplication.classLoader.loadClass("org.company.SomeService").newInstance()
}
答案 1 :(得分:0)
我在这里最可能的解释是,SomeService背后的类不是Grails服务工件,因此您不能像这样注入它。
仔细检查源代码,确定该类是真正的服务还是src / groovy中的Groovy类。该框架将区别对待这两个。
也不要尝试通过手动创建实例(如您的答案)来注入服务,这不是在Grails(或Spring)中进行依赖项注入的正确方法。