【问题标题】:Accessing environment properties in Application.doWithSpring()在 Application.doWithSpring() 中访问环境属性
【发布时间】:2020-04-30 18:27:18
【问题描述】:

我正在使用 doWithSpring() 将特定于 URL 的健康检查添加到我的应用程序文件中。 我在 environment.properties 文件中指定了 URL,并将其加载到“grailApplication.config”中。

我的问题是'grailsApplication' 和'config' 还没有被初始化。 如何获取将位于这些变量中的值。

我可以将运行状况检查的创建移至 doWithApplicationContext() 吗?

【问题讨论】:

    标签: spring grails


    【解决方案1】:

    您可以使用 GrailsConfigurationAware 接口让 grails 将 grails 配置对象注入到 spring bean 中。

    示例代码

    class HealthChecker implements GrailsConfigurationAware {
    
        def checkUrlHealth() {
        }
    
        @Override
        void setConfiguration(Config config) {
            // TODO with grails configurations
        }
    }
    

    然后通过编辑 conf/resources.groovy 将其注册为 spring bean

    import chess_api.HealthChecker
    
    // Place your Spring DSL code here
    beans = {
        healthChecker(HealthChecker)
    }
    

    然后在spring初始化grails和你的bean之后,“setConfiguration”方法将被grails配置调用。

    请注意,此方法不适用于服务,您必须显式注册 spring bean。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-28
      • 2014-05-21
      • 1970-01-01
      • 2014-12-01
      • 2017-05-06
      • 2019-12-31
      • 2019-06-29
      • 1970-01-01
      相关资源
      最近更新 更多