
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.Mar..

Spring MVC - HttpMessageConverter - JSON HttpMessageConverter는 의존성에 따라 조건적으로 등록이 된다. SpringBoot를 사용하는경우 기본적으로 JacksonJSON2 가 의존성에 들어있다. JSON용 HTTP MessageConverter가 기본으로 등록되어있다. Handler 작성 GET /jsonMessage 으로 요청을 받는다. 해당 요청의 본문을 읽어 HttpMessageConverter를 사용하여 Person객체로 받는다. person객체를 HttpMessageConverter를 사용해서 응답해주는 핸들러 TestCode 작성 SpringBoot를 사용하면 Jackson이 의존성에 들어와있기 때문에 ObjectMapper를 주입받아 사용할수 ..

Spring MVC - Resource Handler ResourceHanlder 란 ? Servlet Container 가 제공하는 DefaultServlet에 대한 이해가 필요하다. Image, JS, CSS HTML 과 같은 정적 리소스를 처리하는 Handler 이다. 모든 톰캣에는 이러한 정적 리소스를 처리할 수 있는 DefaultServlet이 등록 되어있다. Directory Listing 용도로도 사용된다. $CATALINA_BASE/conf/web.xml 에 전역적으로 등록되어있음. Spring 은 DefaultServlet에 요청을 '위임' 해서 이러한 Resource 요청을 처리하는것이다. ResourceHandler들은 우선순위가 가장 낮다. Spring Boot 사용시 기본 설정에 ..

Spring MVC - HandlerInterceptor 구현 및 등록 간단한 인터셉터 구현 HelloInterceptor.java SimpleInterceptor Interceptor 실행결과 preHandle: 호출의 정순 postHandle: 호출의 역순 afterCompletion: 호출의 역순 정리 Interceptor생성시 HandlerInterceptor Interface를 구현하여 Interceptor를 작성할 수 있다. 생성한 Interceptor를 등록하고싶다면 WebMvcConfigurer Interface의 addInterceptors메서드를 통해 등록이 가능하다. Interceptor등록시 우선순위를 지정해 줄 수 있으며, 우선순위를 지정하지 않았다면 등록한 순서대로 우선순위가 지..