-
[Java] 시스템 프로퍼티 설정IT/정리 2021. 6. 25. 22:48
시스템 프로퍼티
자바는 JVM 위에서 수행된다. 기동이 되면서 시스템 정보 및 사용자 정보를 시스템 프로퍼티에 담아놓고 이를 수정/사용할 수 있게 하고 있다. 다만 시스템에 관련된 정보가 많기 때문에 가급적 조회 용도로 사용하거나 추가해서 사용하는데 주의해서 사용해야 한다.
지난 번 운영 반영 시 시스템 프로퍼티를 잘못 조작하여 시스템 프로퍼티를 날려버린 적이 있어 내용 공유해 본다.
import java.util.Iterator; import java.util.Properties; import java.util.Set ; public class GetProperties { public static void main(String[] args) { // 기본적인 시스템 프로퍼티를 출력 System.out.println(System.getProperties()) ; System.out.println("=================") ; // 기존 시스템 프로퍼티에 새로운 key-value 추가 System.setProperty("TEST0", "TEMP") ; System.out.println(System.getProperties()) ; // 기존 시스템 프로퍼티에 추가한 key-value 값을 확인할 수 있음 System.out.println("=================") ; // 새로운 프로퍼티 인스턴스 생성 후 key-value 값 설정 Properties prop2 = new Properties() ; prop2.setProperty("TEST1", "TEMP") ; System.setProperties(prop2); // 잘못된 방법. 기존 시스템 프로퍼티 정보에 새로 만든 프로퍼티 값을 덮어버림. System.out.println(System.getProperties()) ; System.out.println("=================") ; // 시스템 프로퍼티에 추가. System.setProperty("TEST2", "TEMP") ; System.out.println(System.getProperties()) ; } }
setProperties() vs setProperty()
setProperties 메소드는 파라미터로 전달된 프로퍼티로 설정한다. 즉, 기존 프로퍼티를 덮어버리는 것.. ;; (API보기)
setProperty 메소드는 파라미터로 전달된 key, value를 추가한다. (API보기)
개발하면서 로그를 자주 찍어서 값을 확인하자! ^^;;
'IT > 정리' 카테고리의 다른 글
[inflearn] 스프링 핵심원리 Basic (0) 2022.05.24 [면접후기] 외국계 영어 인터뷰 (0) 2021.12.11 [링크] 파비콘(favicon) 만들기 (0) 2021.06.02 [정리] 딥 링크 vs 다이나믹 링크 (0) 2021.05.22 [웹사이트] 구글 PageSpeed (0) 2021.04.24