【发布时间】:2012-12-02 15:21:35
【问题描述】:
如何使用config.groovy 中定义的值初始化static 变量?
目前我有这样的事情:
class ApiService {
JSON get(String path) {
def http = new HTTPBuilder("${grailsApplication.config.grails.api.server.url}")
...
}
JSON get(String path, String token) {
def http = new HTTPBuilder("${grailsApplication.config.grails.api.server.url}")
...
}
...
JSON post(String path, String token) {
def http = new HTTPBuilder("${grailsApplication.config.grails.api.server.url}")
...
}
}
我不想在每个方法(几个 GET、POST、PUT 和 DELETE)中定义 http 变量。
我想在服务中将http 变量作为static 变量。
我试过这个没有成功:
class ApiService {
static grailsApplication
static http = new HTTPBuilder("${grailsApplication.config.grails.api.server.url}")
JSON get(String path) {
http.get(...)
...
}
}
我收到Cannot get property 'config' on null object。同样:
class ApiService {
def grailsApplication
static http
ApiService() {
super()
http = new HTTPBuilder("${grailsApplication.config.grails.api.server.url}")
}
JSON get(String path) {
http.get(...)
...
}
}
我也试过没有static定义,但同样的错误Cannot get property 'config' on null object:
class ApiService {
def grailsApplication
def http
ApiService() {
super()
http = new HTTPBuilder("${grailsApplication.config.grails.api.server.url}")
}
}
有什么线索吗?
【问题讨论】:
标签: spring grails groovy static code-injection