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

    
    }
  • 相关阅读:
    转:高层游戏引擎——基于OGRE所实现的高层游戏引擎框架
    转: Orz是一个基于Ogre思想的游戏开发架构
    转:Ogre源代码浅析——脚本及其解析(一)
    IntelliJ IDEA添加过滤文件或目录
    为什么要使用ConcurrentHashMap
    volatile关键字解析
    Spring Boot MyBatis 通用Mapper 自动生成代码
    使用mysql乐观锁解决并发问题
    使用Redis分布式锁处理并发,解决超卖问题
    浅析 pagehelper 分页
  • 原文地址:https://www.cnblogs.com/foxting/p/8651722.html
Copyright © 2011-2022 走看看