• 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/");
           }

    
    }
  • 相关阅读:
    对于学习 ionic的同学安装的时候肯定很痛苦 get 一个小技巧
    关于Android sdk有事安装出现报Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_list-2.xml错误的问题 只要两部就可以搞定
    很多同学工作了,这里呢简单说说工作中吧可能会遇到的一些事情‘
    css定位机制
    HBuilder简单操作
    前端学习方法小结
    Ajax基础讲解 1
    css hack
    jQuery自定义滚动条样式插件mCustomScrollbar 兼容IE7的方法
    ie下面兼容性问题的一些总结(转)
  • 原文地址:https://www.cnblogs.com/foxting/p/8651722.html
Copyright © 2020-2023  润新知