问题将dataSource注入Grails服务

时间:2013-08-28 14:43:36

标签: datasource grails-2.0 grails-services

在我的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服务方面的内容?

感谢您的帮助,

1 个答案:

答案 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
}

}