在我的Serivce中尝试以下内容时遇到了一个问题:
class SendingMailService {
def dataSource // the Spring-Bean "dataSource" is auto-injected
def sendXLSMail() {
def db = new Sql(dataSource)
//additional code such as query, execution follows
}
}
当我执行此代码时,我收到错误:“必须指定非空连接”。根据我的阅读,我相信上面的代码应该可以工作(这不是单元测试)...很明显我遗漏了Grails服务方面的内容?
感谢您的帮助,
答案 0 :(得分:0)
好几个月后,我有时间研究这个。
我尝试了一些事情来让dataSource自动注入服务但我一直得到一个空连接。最终我从控制器传递数据源,这不是很优雅,但至少它是有效的。我希望这可以帮助其他人,因为我已经看到了一些类似的问题。仍然想知道为什么自动注入不起作用,但我想我必须深入了解Grails才能理解。
class MyController {
def dataSource
def someControllerMethod() {
MyService myService = new MyService()
myService.serviceMethodQuery(dataSource)
}
}
//////////////////////
class MyService {
def serviceMethodQuery(Object dataSource){
//use your datasource as you normally would
}
}