아키텍처와 함께

블로그 이미지
by gregorio
  • Total hit
  • Today hit
  • Yesterday hit

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();

}

}





AND

ARTICLE CATEGORY

분류 전체보기 (56)
Spring Framrwork (33)
Linux (1)
APM (1)
Java (8)
python (0)
ant (1)
chart (1)
OS (1)
tomcat (1)
apache (1)
database (0)

RECENT ARTICLE

RECENT COMMENT

CALENDAR

«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

ARCHIVE

LINK