외부 설정 - 1
OS 환경 변수
OS 환경 변수 (OS environment variables) 는 해당 OS 를 사용하는 모든 프로그램에서 읽을 수 있는 설정 값
사용 범위가 가장 넓음
조회 방법
윈도우 : set
mac, 리눅스 : printenv
set 실행 결과
애플리케이션에서 OS 환경 변수 값 읽어오기
- System.getenv() : OS 전체 환경 변수를 Map으로 조회
- System.getenv(key) : 특정 환경변수 값을 String으로 조회
OS 환경 변수는 전역 변수 같은 효과가 있음
해당 애플리케이션을 사용하는 자바 프로그램 안에서만 사용되는 외부 설정값을 사용하고 싶을 때도 있음
자바 시스템 속성
자바 시스템 속성 (Java System properties) 은 실행한 JVM 안에서 접근 가능한 외부 설정
자바가 내부에서 미리 설정해두고 사용하는 속성들도 있음
java -Durl=dev -jar app.jar
- -D VM 옵션을 통해서 key=value 형식으로 사용
- 순서 주의 -D 옵션이 -jar 보다 앞에 있음
src/test 하위
- System.getProperties() : Map 과 유사한 key=value 형식의 Properties를 받을 수 있음
- System.getProperty() : 속성값 조회
사용자가 직접 정의하는 자바 시스템 속성 추가
실행 시 자바 시스템 속성을 추가해야 함
IDE에서 실행시 VM 옵션 추가
jar 로 빌드 되어 있다면 실행시 자바 시스템 속성을 추가할 수 있다.
java -Durl=devdb -Dusername=dev_user -Dpassword=dev_pw -jar app.jar
자바 시스템 속성을 자바 코드로 설정하기
설정 : System.setProperty(propertyName, "propertyValue")
조회 : System.getProperty(propertyName)
이 방식은 코드 안에서 사용하는 것이기 때문에 외부로 설정을 분리하는 효과는 없음
feat. 스프링부트 - 핵심 원리와 활용 (김영한)
'다시 웹, 백엔드로 > 스프링' 카테고리의 다른 글
설정 데이터 (0) | 2023.09.04 |
---|---|
외부 설정 - 2 (0) | 2023.09.01 |
자동 구성 라이브러리 만들기/사용 (0) | 2023.08.31 |
순수 라이브러리 사용 (0) | 2023.08.30 |
순수 라이브러리 만들기 (0) | 2023.08.30 |