Spring Boot에서 @Value를 optional로 선언하는 방법

@ZungTa · 2023-04-12 수요일 · 1 min read

References

Spring에서 설정 파일 내용을 불러올 때 @Value를 사용한다.

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MyConfig {

  @Value("${spring.config.my}")
  private String myConfigValue;

}

그런데 개발을 하다보면 이 값이 없을 때에 대해서도 처리를 해야할 때가 있다.

(e.g. 운영 환경에서는 password가 필요한데 개발 환경에서는 password가 필요하지 않음)

그럴 경우에는 이런 방식으로 하면 된다.

@Value("${spring.config.my:#{null}}")
private String myConfigValue;

이렇게 하면 저 설정 값이 없을 경우에는 null이 들어가게 된다.

만약에 기본 값으로 다른 문자열을 넣고 싶다면 이렇게 하면 된다.

@Value("${spring.config.my:#{'defaultValue'}}")
private String myConfigValue;

References

@ZungTa
I'm a backend developer
© ZungTa Devlog, Built with Gatsby