Spring
Spring - MVC HttpMessageConverter_XML
엔꾸꾸
2019. 7. 21. 15:13
Spring MVC - HttpMessageConverter - XML
-
OXM (Object - XML - Mapper) 라이브러리중 스프링이 지원하는 의존성 추가
- jacksonXML
- JAXB
-
JAXB 의존성 추가
- javax.xml.bind: jaxb interface
- org.glassfish.jaxb: 구현체
- org.springframework-spring-oxm: 추상회된 marshaller
-
Mashaller를 빈으로 등록해서 해당 빈을 사용할것
-
Jaxb2Marshaller 를 빈으로 등록
- setPackagesToScan jaxb를 사용할 패키지를 설정해주어야한다.
- @XmlRootElement로 알려주어야지 jaxb가 변환이 가능하다.
- TestCode
- org.springframework.oxm.Marshaller 를 빈으로 주입받는다.
- 이전에 등록한 Jaxb2Marshaller이 주입된다.
- Marshaller를 사용하려면 marshal 메서드를 사용해야한다.
- 첫번째 인자로 마샬링 대상 Object, 두번째로 해당 결과를 받을 Result 객체를 받는다.
- stringWriter로 받은 결과를 toString 을 통해 문자열로 변환이 가능하다.
- org.springframework.oxm.Marshaller 를 빈으로 주입받는다.
정리
- XMLMessageConverter를 사용하려면 다양한 수동설정이 필요하다.
- 스프링 MVC에서는 Header정보가 중요하다.