zoukankan      html  css  js  c++  java
  • SpringMvc使用FastJson做为json的转换器(注解方式)

    在使用XML方式配置项目,使用fastjson做为Json转换器时通常的在XML内添加如下的配置:

    <mvc:message-converters register-defaults="true"> 
        <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">  
          <property name="supportedMediaTypes" value="application/json"/> 
          <property name="features"> 
            <array> 
              <value>WriteMapNullValue</value> 
              <value>WriteDateUseDateFormat</value> 
            </array> 
          </property> 
        </bean> 
     </mvc:message-converters>  

    当项目不使用XML配置而使用全注释方式时,实现WebMvcconfigurer接口并重写extendMessageConverters方法并添加fastjson转换器

    @Configuration
    @EnableWebMvc
    @ComponentScan("com.wey.spring.controller")
    public class MvcConfig implements WebMvcConfigurer {
        
        @Bean
        public InternalResourceViewResolver viewResolver() {
            InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
            viewResolver.setPrefix("/WEB-INF/classes/views/");
            viewResolver.setSuffix(".jsp");
            viewResolver.setViewClass(JstlView.class);
            return viewResolver;
        }
        
        /**
         * 使用FastJson做为json转换器
         */
        public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
            FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
            List<MediaType> mediaTypes = new ArrayList<MediaType>();
            mediaTypes.add(new MediaType(MediaType.TEXT_HTML, Charset.forName("UTF-8")));
            mediaTypes.add(new MediaType(MediaType.APPLICATION_JSON, Charset.forName("UTF-8")));
            mediaTypes.add(new MediaType(MediaType.APPLICATION_XML, Charset.forName("UTF-8")));
            
            converter.setSupportedMediaTypes(mediaTypes);
            
            FastJsonConfig fastJsonConfig = new FastJsonConfig();
            fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
            
            converter.setFastJsonConfig(fastJsonConfig);
            
            converters.add(converter);
        }
        

        /**
        * 静态资源
        */
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
          registry.addResourceHandler("/static/**").addResourceLocations("classpath:static/");
           }

    
    }
  • 相关阅读:
    socketserver源码简介
    Python中实现switchcase
    maven知识整理
    架构师成长之路(5)--如何获取知识(方法)
    架构师成长之路(4)--知识体系(方法)
    python 定义函数
    Git 使用规范流程
    Mybatis内置的日志工厂提供日志功能
    Log4j配置详解
    【log4j2 加载配置文件】 加载配置文件的三种方法
  • 原文地址:https://www.cnblogs.com/foxting/p/8651722.html
Copyright © 2011-2022 走看看