• 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的样式
    

  • 相关阅读:
    Mysql查看所有表的数据量
    Mysql存储过程查询数据插入别的表里。
    MYSQL查看最大连接数和修改最大连接数
    Centos7 安装字体库&中文字体
    docker-部署elk-6.1.3
    confluence输入数学公式之mathjax
    elasticsearch安装ansj分词器
    mongorestore 一次踩雷
    let‘s encrypt之nginx-https没有小锁
    微服务预想
  • 原文地址:https://www.cnblogs.com/liushisaonian/p/9348143.html
Copyright © 2020-2023  润新知