springboot 开发遇到的问题

springboot 开发遇到的问题

1. 通用 mapper 与 springboot 热部署冲突。

描述:出现xx类缺少xx方法
原因:类加载器不一样
解决方法:统一类加载器,或者换高版本的通用mapper

2. spring boot2 配置 FastJsonHttpMessageConverter 不起作用

描述:数据库数据为null时,前端显示也为null,不能显示空字符串
原因:SpringBoot 2.x版本中加载WebMvcConfigurer的顺序发生了变动,会优先执行MappingJackson2HttpMessageConverter,优先使用Jackson处理
解决方法: 指定FastJsonHttpMessageConverter在converters内的顺序,使用converters.add(0,fastJsonHttpMessageConverter)

   @Override
       public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
           //1.需要定义一个convert转换消息的对象;
           FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
           //2.添加fastJson的配置信息,比如:是否要格式化返回的json数据;
           FastJsonConfig fastJsonConfig = new FastJsonConfig();
           fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat,
                   SerializerFeature.WriteMapNullValue,
                   SerializerFeature.WriteNullStringAsEmpty,
                   SerializerFeature.DisableCircularReferenceDetect,
                   SerializerFeature.WriteNullListAsEmpty,
                   SerializerFeature.WriteDateUseDateFormat);
   //        System.out.println("111111111111111111111111111111111111111111111111111111111");
           //3处理中文乱码问题
           List<MediaType> fastMediaTypes = new ArrayList<>();
           fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
           //4.在convert中添加配置信息.
           fastJsonHttpMessageConverter.setSupportedMediaTypes(fastMediaTypes);
           fastJsonHttpMessageConverter.setFastJsonConfig(fastJsonConfig);
           //5.将convert添加到converters当中.
           //指定 fastJson 执行顺序,不然可能会用 jsonfast SpringBoot 2.0.1版本中加载WebMvcConfigurer的顺序发生了变动
           // 故需使用converters.add(0, converter);指定FastJsonHttpMessageConverter在converters内的顺序,否则在SpringBoot 2.0.1及之后的版本中将优先使用Jackson处理
           converters.add(0,fastJsonHttpMessageConverter);
       }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值