티스토리 뷰

이번엔 Properties에 관한 이야기. 여기 저기 수 많은 프로그램에서 사용하고 있는 "Properties"에 관해서 아는게 별로 없는 것 같아서 잠깐 살펴보기로 했다.(사실 쓰면서 찾아보고 있는 중이다..)

Java 어플리케이션은 java.version, java.home, os.name 그리고, user.home 과 같은 System properties를 제공해 준다. 이 값들은 "java.lang.System"클래스의 다음 두 메소드로 값을 읽을 수 있다.

 

public static String  getProperty(String  key)

public static String  getProperty(String  key, String  def)

 

첫번째 메소드는 key값에 해당하는 System property를 리턴하는 메소드 이며, 이때 해당 값이 없는 경우 null값을 리턴하게 된다.
두번째는 해당하는 값이 없는 경우, 대체 값(=def) 을 리턴하는 메소드 이다. 물론 값을 셋팅해주는 메소드 역시 존재한다.

java.lang.System 에는 운영체제에 존재하는 환경변수를 읽어오는 메소드 역시 제공된다.(값 설정은.... 모르겠다.)

 

public static String getenv(String name)

public static Map<String,String> getenv()

 

윈도우의 경우 다음과 같은 곳에서 설정된 값을 읽어오게 된다.

확인을 위해서 그루비 쉘에서 위에 존재하는 값중 M2의 값을 찍어 보았다.

groovy:000> System.getenv("M2")
===> D:\local\apache-maven-2.2.0\bin
groovy:000>

오호~

사실 그 동안 내가 접해온 코드들은 대부분  Properties 를 많이 사용한다. maven 에서 자주(?) 쓰이는

mvn -Dmaven.skip.test=true

와 같은 -Dkey=value 류의 선언이 System.getProperty("key") 메서드를 통해서 읽어올 수 있게 되는 것이다.

D:\workspace>groovysh -Dsangpire=rookie
Groovy Shell (1.6.3, JVM: 1.6.0_14)
Type 'help' or '\h' for help.
-----------------------------------------------
groovy:000> System.getProperty("sangpire")
===> rookie
groovy:000>

이런것도 되는군... 이건 적절하지 못한 예인듯..(왜  Java 공부하면서.. Groovy를...)

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함