Spring Boot에서 JsonView를 bean으로 설정하는 방법이다.
Spring MVC에서는 View를 정의하기 위해 XMLViewResolver를 사용하여 bean의 위치를 정의하고, View 정의하는 파일에 JsonView를 설정한다.
■ mvc-servlet-context.xml
<!-- Set XML View Resolver --> <bean class="org.springframework.web.servlet.view.XmlViewResolver"> <property name="location" value="classpath:spring/context-views.xml"/> <property name="order" value="1" /> </bean> |
■ context-views.xml
<bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView" /> |
위와 같이 정의한 후 ModelAndView를 사용 시 setViewName 메소드에 Parameter로 jsonView를 정의하면 데이터를 JSON으로 변환하여 클라이언트에 전송한다.
Spring Boot에서는 XML을 사용하지 않을 경우에는 MappingJackson2JsonView를 bean으로 정의하면 사용할 수 있다.
■ WebConfg.java
import java.util.ArrayList; import java.util.List; import java.util.Locale; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.support.ReloadableResourceBundleMessageSource; import org.springframework.core.Ordered; import org.springframework.web.servlet.LocaleResolver; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; import org.springframework.web.servlet.i18n.SessionLocaleResolver; import org.springframework.web.servlet.view.json.MappingJackson2JsonView; import dymn.demo.filter.ABCFilter; import dymn.demo.interceptor.SessionInterceptor; import dymn.demo.util.PropertiesUtil; @Configuration public class WebConfig implements WebMvcConfigurer { @Bean public MappingJackson2JsonView jsonView() { return new MappingJackson2JsonView(); } } |
'Spring Framrwork' 카테고리의 다른 글
Spring Batch Step간 데이터 공유 (0) | 2018.09.05 |
---|---|
Spring framework AOP와 Annotaion을 이용한 Stop Watch 로그 (0) | 2018.09.04 |
[Spring Boot] Exception Resolver (0) | 2018.08.14 |
[Spring Boot] Properties Configuration (0) | 2018.08.13 |
[Spring Boot] Transaction AOP 설정 (0) | 2018.08.13 |