< 스프링이 제공하는 Environment 총 3가지 >

1. System Properties

VM 옵션 추가 ( -D{이름}={값} 형식)

2. System Environment Variables

언더바(_)  조

3. application.properties(xml, yml)

우선순위가 가장 낮기 때문에 기본이 되는 값을 넣고

System Properties에 환경 변수 값 조절하는게 대표적인 사용패턴

 

< Environment test code >

@Bean
ApplicationRunner applicationRunner(Environment env){
    return args -> {
       String name = env.getProperty("my.name");
       System.out.println("my.name:" + name);
    };

 

아무런 프로토타입을 설정해 주지 않아 my.name 정보를 읽을려고 해도 없기 때문에 null 출력

 

 

 

<우선선위가 낮은 것부터 정보 설정 해보기>

1.property 추가해주는 Application.properties에 my.name 정보 설정 ( 우선순위 3 )

 

 

출력 값 : ApplicationProperties

 

2. Application.properties 보다 우선 환경변수 설정 ( 우선순위 2 )

추가로 edit Configurations - Dradle - Environment variable에 정보 설정

 

Environment variable 안보일 경우 Modify optios - Environment variable 클릭

 

Application.properties에 추가한 정보가 아닌 환경변수에 설정해준 값 출력

 

3. System Property ( 우선순위 1)

 edit Configurations - Application - Modify options - AD VM 클릭

java 명령으로 프로그램을 실행할때 -D 옵션 주고 프러퍼티 이름과 벨류값 설정

 

 

우선수위가 제일 높기 때문에 출력값

System Property 에서설정해준 SystemProperty가 출력됨

+ Recent posts