Grails:如何在服务内部提供服务?
Grails : How do you make services available inside services?
我目前 运行 遇到一个问题,我试图在服务中使用服务,但该服务为空
class ApplicationService{
def someService
def someMethod(){
someService.method()//null on someService
}
}
我需要执行额外的布线才能使其正常工作吗?在此先感谢您的帮助。
我能够通过使用 grailsApplication 并加载服务来做到这一点。
if(!someService){
someService = grailsApplication.classLoader.loadClass("org.company.SomeService").newInstance()
}
我在这里最可能的解释是,SomeService 背后的 class 不是 Grails 服务工件,因此您不能像那样注入它。
仔细检查源代码 class 是否真的是一项服务或只是 src/groovy 中的 Groovy class。框架会区别对待这两者。
也不要像您的回答那样尝试通过手动创建实例来注入服务,这不是在 Grails(或 Spring 中)进行依赖注入的正确方法。
我目前 运行 遇到一个问题,我试图在服务中使用服务,但该服务为空
class ApplicationService{
def someService
def someMethod(){
someService.method()//null on someService
}
}
我需要执行额外的布线才能使其正常工作吗?在此先感谢您的帮助。
我能够通过使用 grailsApplication 并加载服务来做到这一点。
if(!someService){
someService = grailsApplication.classLoader.loadClass("org.company.SomeService").newInstance()
}
我在这里最可能的解释是,SomeService 背后的 class 不是 Grails 服务工件,因此您不能像那样注入它。
仔细检查源代码 class 是否真的是一项服务或只是 src/groovy 中的 Groovy class。框架会区别对待这两者。
也不要像您的回答那样尝试通过手动创建实例来注入服务,这不是在 Grails(或 Spring 中)进行依赖注入的正确方法。