반응형
Simple
XML 직렬화처리 및 설정을 해주는 고성능 프레임워크
1. porm.xml
- simple framework 디펜던시 추가
<!-- https://mvnrepository.com/artifact/org.simpleframework/simple-xml --> <dependency> <groupId>org.simpleframework</groupId> <artifactId>simple-xml</artifactId> <version>2.7.1</version> </dependency>
2. 디스패처 서블릿
(..컨트롤러, 도메인 빈 등록밖에 없음. 생략)
3. 도메인A
@Root @Component public class User { @Element private int no; @Element private String id; @Element private String pw; @Element private String name; @Element private String address; (..이하 생성자, getter/setter)
4. 도메인B
- 도메인A의 리스트
@Root @Component public class Users { @ElementList private List<User> users; public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this.users = users; } (..생략)
5-1. 컨트롤러
- xml -> 자바 객체
@Controller public class UsersXmlController { /** * xml 읽어 객체 생성하는 메소드 */ @RequestMapping(value="/makeobj.do") public void xmlToObject() { //--------------------------------------------------- // xml -> 객체 생성 //--------------------------------------------------- // 파일 경로 String path = this.getClass().getResource("/").getPath(); path = path.substring(1, path.indexOf("WEB-INF")); System.out.println("path: " + path); // 담을 객체 생성 List<User> list = new ArrayList<>(); Users users = new Users(); users.setUsers(list); // xml 읽어 객체 생성 Serializer serializer = new Persister(); File source = new File(path + "users.xml"); try { serializer.read(users, source); } catch (Exception e) { e.printStackTrace(); } System.out.println(list); }
5-2. 컨트롤러
- 자바 객체 -> xml
/** * 객체로 xml 생성하는 메소드 */ @RequestMapping(value="/makexml.do") public void objectToXml() { //--------------------------------------------------- // 객체 생성 //--------------------------------------------------- List<User> list = new ArrayList<>(); Users users = new Users(); User u1 = new User(); u1.setNo(1); u1.setId("abc"); u1.setPw("123"); u1.setName("강대봉"); u1.setAddress("서울시"); User u2 = new User(); u2.setNo(1); u2.setId("adfgbc"); u2.setPw("1234"); u2.setName("홍구"); u2.setAddress("서울시"); list.add(u1); list.add(u2); users.setUsers(list); //--------------------------------------------------- // 객체 -> xml 생성 //--------------------------------------------------- // 파일 경로 String path = this.getClass().getResource("/").getPath(); path = path.substring(1, path.indexOf("WEB-INF")); System.out.println("path: " + path); // 객체 읽어 xml에 쓰기 Serializer serializer = new Persister(); File result = new File(path + "users.xml"); try { //serializer.write(u2, result); serializer.write(users, result); } catch (Exception e) { e.printStackTrace(); } //--------------------------------------------------- // xml 출력 //--------------------------------------------------- // 미구현 }
- xml 생성 결과
반응형
'개발_웹 > Java' 카테고리의 다른 글
Java | 날짜, 시간 (currentTimeMillis(), SimpleDateFormat) (0) | 2019.05.09 |
---|---|
eclipse에서 Gradle 프로젝트 rename 안되는 경우 (0) | 2019.01.07 |
Java | 객체(Object) ↔ XML (spring oxm, jaxb를 이용한 xml 변환) (0) | 2017.10.31 |
Java | 객체(Object) ↔ XML (JAXB, Simple Framework) (0) | 2017.10.31 |
Java | split() - 문자열 나누기 (0) | 2017.09.04 |