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

  • 相关阅读:
    javascript判断页面第一次加载还是刷新操作【转】
    vs 2008 不能切换到设计视图的解决办法
    sql update 触发器 获得被update的行的信息
    方便winform中的数据验证,制作一个使用正则表达式验证数据的复合控件
    求一个n选x的算法
    在html链接里执行js和使用标签事件执行的不同
    咸吃萝卜淡操心:导入xlsx文件表格新增数据
    我亲爱的你,有两副面孔:表格末尾添加新内容
    Torture:跨域访问的功臣:window.name
    那么轻,那么重:图片下载与压缩包下载
  • 原文地址:https://www.cnblogs.com/liushisaonian/p/9348143.html
Copyright © 2011-2022 走看看