반응형
자바객체를 직렬화하려면 흔히 어떻게 하는 방법이 있을까요?
오픈 소스 라이브러리를 써주는 센스!를 발휘하려면 어떤 라이브러리가 있는지 알아야겠지요.
전 dW에 번역글이 올라와서 알게 된 XStream이 있는데 정말 몇줄로 자바객체를 XML로 직렬화 시켜주는 군요.
[dW] XStream으로 자바 객체를 XML로 직렬화하기
이곳을 참조하면, 이클립스 프로젝트에서 클래스를 생성해서 단 몇줄로 자바객체를 XML로 직렬화하는 방법이 나와있습니다. 친절하게 이클립스의 스크린샷까지..
XStream 사이트에 가보면 제일 첫 화면에 보이는"XStream" is a simple library to serialize objects to XML and back again.
정말 심플한 라이브러리일까? 한번 소스를 봐보면..
XStream을 사용하면 XML 객체를 직렬화 하는 방법도 있고, 역직렬화하는 방법(XML을 읽어서 프로그래밍하고싶을때 사용한다면..)도 있고
기본적으로 역직렬화를 하다보면 XStream방식으로 "com.thoughtworks.xstream." element 이름으로 나오는 경우가 있는데 이때는 alias를 줘서 원하는 방식으로 바꾸는 방법도 있고, 또 annotation방법으로 편하게 줄 수도 있군요.
대충 예제를 보니 사용하기도 쉬운것 같습니다. 직렬화할 일이 있다면 써보는게 좋을 것 같군요~
오픈 소스 라이브러리를 써주는 센스!를 발휘하려면 어떤 라이브러리가 있는지 알아야겠지요.
전 dW에 번역글이 올라와서 알게 된 XStream이 있는데 정말 몇줄로 자바객체를 XML로 직렬화 시켜주는 군요.
[dW] XStream으로 자바 객체를 XML로 직렬화하기
이곳을 참조하면, 이클립스 프로젝트에서 클래스를 생성해서 단 몇줄로 자바객체를 XML로 직렬화하는 방법이 나와있습니다. 친절하게 이클립스의 스크린샷까지..
XStream 사이트에 가보면 제일 첫 화면에 보이는
"XStream" is a simple library to serialize objects to XML and back again.
정말 심플한 라이브러리일까? 한번 소스를 봐보면..Person joe = new Person("Joe", "Walnes");
joe.setPhone(new PhoneNumber(123, "1234-456"));
joe.setFax(new PhoneNumber(123, "9999-999"));
String xml = xstream.toXML(joe);
이렇게 대략 프로그래밍을 하면 XML결과는..(물론 Person 객체가 존재해야겠지요)
<person>
<firstname>Joe</firstname>
<lastname>Walnes</lastname>
<phone>
<code>123</code>
<number>1234-456</number>
</phone>
<fax>
<code>123</code>
<number>9999-999</number>
</fax>
</person>
XStream을 사용하면 XML 객체를 직렬화 하는 방법도 있고, 역직렬화하는 방법(XML을 읽어서 프로그래밍하고싶을때 사용한다면..)도 있고
기본적으로 역직렬화를 하다보면 XStream방식으로 "com.thoughtworks.xstream." element 이름으로 나오는 경우가 있는데 이때는 alias를 줘서 원하는 방식으로 바꾸는 방법도 있고, 또 annotation방법으로 편하게 줄 수도 있군요.
대충 예제를 보니 사용하기도 쉬운것 같습니다. 직렬화할 일이 있다면 써보는게 좋을 것 같군요~
반응형
'Computer 그리고 Developer > dW' 카테고리의 다른 글
[dW] Diagnosing Java code: Java generics without the pain, Part 1 (0) | 2008.06.29 |
---|---|
[dW] Practically Groovy: Reduce code noise with Groovy (0) | 2008.06.24 |
[dW] Ajax에서 XML 처리하기 (2) | 2008.05.28 |
[dW] Learn 10 good XML usage habits (2) | 2008.05.23 |
[dW] HTML 5와 XHTML 2에 관련된 글(dW문서와 그외) (3) | 2008.04.28 |
[dW] Ajax 오버홀(overhaul), Part 1: Ajax와 jQuery로 기존 사이트 개선하기 (한글) (4) | 2008.04.20 |
[dW] Acegi로 자바 애플리케이션 보안화 하기, Part 1: 아키텍처 개요와 보안 필터 (한글) (4) | 2008.03.23 |
[dW] 클래스 로딩 문제 분석하기 (4) | 2008.03.04 |