bong-u/til

Spring 개념 - Environment

수정일 : 2024-11-15

application.properties

환경변수 설정

  1. application.properties 파일을 작성한다
  • 파일 위치 : reousrces/application.properties
  • 파일 내용 예시 : key = value 형태
    app.name = spring
    
  1. Configuration에 설정한다
1@Configuration
2@PropertySource("application.properties")
3public class AppConfiguration {...}

환경변수 가져오기

ApplicationContext 활용하는 방법

1var environment = applicationContext.getEnvironment();
2var property = environment.getProperty("app.name")

@Value Annotation 활용

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

별도의 클래스 정의

  • 클래스 정의

     1@Component
     2@PropertySource("version.properties")
     3public class VersionProvider {
     4  private final String version;
     5
     6  public VersionProvider(@Value("${version:v0.0.0}") String version) {
     7    this.version = version;
     8  }
     9
    10  public  String getVersion() {
    11    return version;
    12  }
    13}
    
  • 사용

    1private final VersionProvider versionProvider;
    2versionProvider.getVersion();
    

application.yaml

장점

  • 계층적인 구조이기 때문에 반복되는 부분이 적고, 직관적이다

환경변수 설정

  1. application.yml 작성
    1env:
    2  version: "v1.0.0"
    

환경변수 가져오기

  • AppConfiguration.java

     1@Component
     2@ConfigurationProperties(prefix="env")
     3public class AppConfiguration {
     4    private String version;
     5
     6    public String getVersion() {
     7        return version;
     8    }
     9
    10    public void setVersion(String version) {
    11        this.version = version;
    12    }
    13}
    
  • main

    1var appConfiguration = applicationContext.getBean(AppConfiguration.class);
    2System.out.println(appConfiguration.getVersion());