spring–Grails:使用config.groovy中定义的值初始化静态变量

spring–Grails:使用config.groovy中定义的值初始化静态变量,第1张

概述如何使用config.groovy中定义的值初始化静态变量?目前我有这样的事情:class ApiService { JSON get(String path) { def http = new HTTPBuilder('${grailsApplication.config.grails.api.server.url}')

如何使用config.groovy中定义的值初始化静态变量?

目前我有这样的事情:

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}")        ...    }}

我不想在每个方法中定义http变量(几个GET,POST,PUT和DELETE).

我希望将http变量作为服务中的静态变量.

我尝试了这个没有成功:

class APIService {    static grailsApplication    static http = new httpBuilder("${grailsApplication.config.grails.API.server.url}")    JsON get(String path) {        http.get(...)        ...    }}

我得到无法在null对象上获取属性’config’.同样的:

class APIService {    def grailsApplication    static http    APIService() {        super()        http = new httpBuilder("${grailsApplication.config.grails.API.server.url}")    }    JsON get(String path) {        http.get(...)        ...    }}

我也试过没有静态定义,但同样的错误无法在null对象上获取属性’config’:

class APIService {    def grailsApplication    def http    APIService() {        super()        http = new httpBuilder("${grailsApplication.config.grails.API.server.url}")    }}

任何线索?最佳答案而不是静态,使用实例属性(因为服务bean是单例作用域).您无法在构造函数中进行初始化,因为尚未注入依赖项,但您可以使用带注释的@postconstruct方法,该方法将在依赖项注入后由框架调用.

import javax.annotation.postconstructclass APIService {  def grailsApplication  httpBuilder http  @postconstruct  voID init() {    http = new httpBuilder(grailsApplication.config.grails.API.server.url)  }  // other methods as before}
总结

以上是内存溢出为你收集整理的spring – Grails:使用config.groovy中定义的值初始化静态变量全部内容,希望文章能够帮你解决spring – Grails:使用config.groovy中定义的值初始化静态变量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1239964.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存