< 스프링이 제공하는 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가 출력됨
'SpringBoot > 프로젝트' 카테고리의 다른 글
[오류] org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [...]") 에러상황 (2) | 2024.01.04 |
---|---|
[오류해결]@RequiredArgsConstructor 를 사용할때 주의점 (0) | 2023.12.21 |
자동 구성 정보 대체하기 (0) | 2023.11.30 |
@Conditional 학습 테스트 (0) | 2023.11.30 |
[Spring Boot] jetty 서버 구성 추가하기 (0) | 2023.11.29 |