Grails 2.0에서 Grails 설정에 접근하는 방법은 무엇입니까?


Answers

grailsApplication의 대안은 Holders 클래스이다.

import grails.util.Holders

def config = Holders.config

당신은 홀더에서 직접 설정을 얻을 수 있으며, 주입은 필요하지 않습니다. 이는 유틸리티 클래스 등에서 유용합니다.

Question

최신 Grails 2.0 마일스톤을 얻었으며 ConfigurationHolder 클래스에 대한 사용 중단 경고가 표시됩니다.

org.codehaus.groovy.grails.commons.ConfigurationHolder

Deprecation 메시지는 단순히 "Dependency Injection을 대신 사용하십시오"라고 말하면서 나에게별로 도움이되지 않습니다. 의존성 삽입을 이해하고 있지만 런타임에 액세스 할 수 있도록 적절한 Grails 구성으로 bean을 연결하는 방법은 무엇입니까? 내 컨트롤러 및 태그 (예 : BootStrap ) 이외의 장소에서 구성에 액세스해야합니다.




config를 가져 오는 또 다른 비추천 된 방법은 다음과 같습니다.

    ApplicationContext context = ServletContextHolder.servletContext.
        getAttribute(GrailsApplicationAttributes.APPLICATION_CONTEXT) 
        as ApplicationContext
    ConfigObject config = context.getBean(GrailsApplication).config

이것은 서블릿 클래스 또는 정적 메소드와 같이 사용 가능한 삽입 된 상위가없는 상황에서 작동합니다.




도메인 클래스에서 액세스하려면 다음을 수행하십시오.

import grails.util.Holders

// more code

static void foo() {
  def configOption = Holders.config.myProperty
}



Related