티스토리 뷰

 . properties 파일로부터 값을 받아와 static 변수에 맵핑하는 방법을 작성하였습니다.


1. 프로퍼티 작성

  • 우선 constants.properties 라는 파일을 classpath 아래에 생성합니다.
  • resources/propreties/constants.properties
base.user.id:999901
base.user.name:기본유저



2. 소스작성

  • Constants.java 파일을 생성합니다.
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;

@Component
@PropertySource(value = "classpath:/properties/constants.properties")
public class Constants {

  public static String BASE_USER_ID;

  @Value("${base.user.id}")
  public void setBaseUserId(String data) {
    BASE_USER_ID = data;
  }

  public static String BASE_USER_NAME;

  @Value("${base.user.name}")
  public void setBaseUserName(String data) {
    BASE_USER_NAME = data;
  }

}

 위 소스처럼 @PropertySource 를 통해 파일을 맵핑하고, Setter를 통해 @Value 값을 입력받습니다. 이렇게 되면 외부에서 해당 상수에 접근할 땐, static 변수인 BASE_USER_ID로 접근이 가능해 추가적인 주입 없이 상수처럼 사용할 수 있게 됩니다.


감사합니다.

최근에 올라온 글
Total
Today
Yesterday