-
외부 설정 1 - OS 환경 변수스프링/스프링부트 2023. 9. 30. 14:31
OS 환경 변수는 해당 OS를 사용하는 프로그램에서 읽을 수 있는 설정값이고, 다른 외부 설정과 비교해서 사용 범위가 가장 넓다.
window에서 환경 변수 설정을 수정하면 시스템의 환경 변수 설정을 수정할 수 있다.
@Slf4j public class OsEnv { public static void main(String[] args) { Map<String, String> envMap = System.getenv(); // 전체 환경 변수를 Map으로 조회 for (String key : envMap.keySet()) { log.info("env {}={}", key, System.getenv(key)); } } }
System.getenv()로 전체 환경 변수를 Map으로 조회하고 출력해보면 아래처럼 나온다.
이렇게 환경 변수들이 출력되는데 이거를 가지고 특정 서버로 사용하면 된다.
// DBURL = dev.db.com이라고 가정 // 운영 서버에서는 prod.db.com라고 설정 String dburl = System.getenv("DBURL");
DBURL이라는 key값이 있다면 System.getenv("DBURL")을 받아와서 개발 서버에서는 DBURL = dev.db.com과 같이 설정하고 운영 서버에서는 DBURL = dev.db.com이라고 설정해주면 된다.
하지만 OS 환경 변수는 이 프로그램 뿐만 아니라 다른 프로그램에서도 사용할 수 있다. 여러 프로그램에서 사용하는 것이 맞을 때도 있지만 해당 애플리케이션을 사용하는 자바 프로그램 안에서만 사용하는 외부 설정값을 사용하고 싶을 때도 있기 때문에 특정 자바 프로그램에안에서만 사용하는 외부 설정을 다음 포스팅에서 정리할 것이다.
'스프링 > 스프링부트' 카테고리의 다른 글
외부 설정 3 - 커맨드 라인 인수 (0) 2023.09.30 외부 설정 2 - 자바 시스템 속성 (0) 2023.09.30 외부 설정이란? (0) 2023.09.30 스프링 부트 자동 구성 (0) 2023.09.29 WAR(Web Application Archive) (0) 2023.09.27