zoukankan      html  css  js  c++  java
  • spring中使用fastjson

    springboot中使用json解析,但是我们更加愿意使用fastjson中的一些东西,该如何覆盖

    1.第一种方式继承父类重写

    package com.ithuan;
    
    import java.util.List;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.http.converter.HttpMessageConverter;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
    
    import com.alibaba.fastjson.serializer.SerializerFeature;
    import com.alibaba.fastjson.support.config.FastJsonConfig;
    import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter;
    
    /**
     * Hello world!
     *
     */
    @SpringBootApplication
    public class App extends WebMvcConfigurerAdapter{
    	@Override
    	public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    		super.configureMessageConverters(converters);
    		
    		/*
    		 * 1、需要先定义一个 convert 转换消息的对象;
    		 * 2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
    		 * 3、在convert中添加配置信息.
    		 * 4、将convert添加到converters当中.
    		 * 
    		 */
    		
    		// 1、需要先定义一个 convert 转换消息的对象;
    		FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
    		
    		//2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
    		FastJsonConfig fastJsonConfig = new FastJsonConfig();
    		fastJsonConfig.setSerializerFeatures(
    	            SerializerFeature.PrettyFormat
    	    );
    		
    		//3、在convert中添加配置信息.
    	    fastConverter.setFastJsonConfig(fastJsonConfig);
    	    
    	    //4、将convert添加到converters当中.
    		converters.add(fastConverter);
    		
    	}
        public static void main( String[] args )
        {
        	SpringApplication.run(App.class, args);
        	
            System.out.println( "Hello World!" );
        }
        
        
    }
    

    2.第二种方式用@Bean标签

    /**
    	 * 在这里我们使用 @Bean注入 fastJsonHttpMessageConvert
    	 * @return
    	 */
    	@Bean
    	public HttpMessageConverters fastJsonHttpMessageConverters() {
    		// 1、需要先定义一个 convert 转换消息的对象;
    		FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
    		
    		//2、添加fastJson 的配置信息,比如:是否要格式化返回的json数据;
    		FastJsonConfig fastJsonConfig = new FastJsonConfig();
    		fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
    		
    		//3、在convert中添加配置信息.
    		fastConverter.setFastJsonConfig(fastJsonConfig);
    		
    		
    		HttpMessageConverter<?> converter = fastConverter;
    		return new HttpMessageConverters(converter);
    	}
    

     3.使用案例

    //1.在实体类中可以使用fastjson的一些注解
    //日期格式
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    private Date cretetime;
    //表示不展示
    @JSONField(serialize=false)
    
    //2.在页面展示的时候就会用fastjson的样式
    

  • 相关阅读:
    c# Task多线程并行任务中等待所有线程都执行完成
    C#多线程之所有线程执行完成后
    正则表达式
    js 实时监听input中值变化
    js中prop和attr区别
    获取自定义属性
    checkBox
    js中判断数组中是否包含某元素的方法
    leetcode — path-sum-ii
    leetcode — path-sum
  • 原文地址:https://www.cnblogs.com/liushisaonian/p/9348143.html
Copyright © 2011-2022 走看看