복붙노트

[SPRING] Groovy에서 @Value Spring Annotation 사용하기

SPRING

Groovy에서 @Value Spring Annotation 사용하기

나는 속성 값을 autowire하고 싶은 그루비 클래스를 가지고있다.

예 :

public @Value("${valueA}" ) String valueA;

내 응용 프로그램 컨텍스트에서 property-placeholder를 추가하면

<context:property-placeholder location="classpath:spring/app.properties" />

app.properties에는 "valueA"에 대한 값이 설정되어 있으므로 이론적으로 런타임시 클래스의 String valueA를 채워야합니다.

이 설정은 Java 클래스를 사용하면 완벽하게 작동하지만 Groovy 클래스를 사용하는 경우에는 작동하지 않습니다.

컴파일 오류가 발생합니다.

Groovy 클래스를 사용할 때 위의 구문이 올바른지, 런타임에 @Value 매개 변수를 자동으로 호출하는 올바른 구문이 아닌지 알고 싶습니다.

해결법

  1. ==============================

    1.작은 따옴표를 사용하십시오.

    작은 따옴표를 사용하십시오.

    public @Value('${valueA}') String valueA
    
  2. ==============================

    2.$를 사용하면 Groovy가 주석 인수를 GString으로 해석하므로 컴파일 오류가 발생합니다. \ $를 이스케이프하거나 작은 따옴표를 사용할 수 있습니다.

    $를 사용하면 Groovy가 주석 인수를 GString으로 해석하므로 컴파일 오류가 발생합니다. \ $를 이스케이프하거나 작은 따옴표를 사용할 수 있습니다.

  3. from https://stackoverflow.com/questions/5648398/using-value-spring-annotation-with-groovy by cc-by-sa and MIT license