Study/spring

[Java] Spring @Value 어노테이션 사용법

 

스프링의 @Value 어노테이션은 @ConfigurationProperties처럼 외부 설정 값을 가져오기 위해 사용됩니다.

@ConfigurationProperties는 외부 설정 값을 객체로 매핑할 때 사용되고, @Value는 단일 값을 매핑할 때 사용합니다.

 

@Value 사용법

다음과 같이 외부 설정 값을 구성하겠습니다.

# application.properties
app.test.name=Test App Name
app.test.additional.property1: property1
app.test.additional.property2: property2

# application.yml
app:
  test:
    name: Test App Name From YML
  additional:
    property1: property1
    property2: property2

 

설정한 값을 @Value로 가져오고 싶을 때 다음과 같이 사용할 수 있습니다.

 

@RestController
public class DemoRestController {

    @Value("${app.test.name}")
    private String name;

    @GetMapping("/value")
    public String getValue() {
        return name;
    }
}

Controller 단에서 외부 설정값을 가져왔습니다.

@Value로 가져온 외부 설정값을 응답값으로 반환하는 API 입니다.\

 

@Value 어노테이션으로 가져온 외부 설정값 반환
@Value 어노테이션으로 가져온 외부 설정값 반환

외부 설정 값을 잘 가져온 것을 확인할 수 있습니다.

 

 

 

 

고정 값 사용

@RestController
public class DemoRestController {

    @Value("Fix Text")
    private String fixText;

    @GetMapping("/fix")
    public String getFixText() {
        return fixText;
    }
}

고정 값 사용 결과
고정 값 사용 결과

 

@Value 어노테이션에 표현식이 아닌 문자열을 그대로 넣으면 고정값으로 들어갑니다.