Я пытаюсь использовать внедрение зависимостей для экспорта, чтобы превзойти функциональность, предоставляемую «Экспортным плагином». Кажется, что когда бы я ни пытался использовать сервис в своем проекте, я получаю сообщение об ошибке, например:
Stacktrace follows:
java.lang.NullPointerException: Cannot invoke method export() on null object
at pm.ProjectsController$_closure2.doCall(ProjectsController.groovy:39)
at pm.ProjectsController$_closure2.doCall(ProjectsController.groovy)
at java.lang.Thread.run(Thread.java:662)
Код IЯ использую следующее, это просто означает, что переменная службы имеет значение null
def exportService// i have tried with and without the initialization
if(params?.format && params.format != "html"){
response.contentType = ConfigurationHolder.config.grails.mime.types[params.format]
response.setHeader("Content-disposition", "attachment; filename=books.${params.extension}")
exportService.export(params.format, response.outputStream,projectsList, [:], [:])
}
Кажется, что ни один плагин, который использует службы, не работает в моем проекте, например, AsynchronousMailService в моем проекте не работал, как предполагалось, итаким образом, я использовал его следующим образом
AsynchronousMailService asynchronousMailService = new AsynchronousMailService()
asynchronousMailService.sendAsynchronousMail {
to projectsInstance.projectLead.emailAddress
subject "New project is assigned to you"
html msg
}
Если я не пропустил кое-что очень простое, я не верю, что мне следует создавать экземпляр этого класса, если плагин предлагает то же самое, что и сервис.
Спасибо