User-Profile-Image
hankin
  • 5
  • Java
  • Kotlin
  • Spring
  • Web
  • SQL
  • MegaData
  • More
  • Experience
  • Enamiĝu al vi
  • 分类
    • Zuul
    • Zookeeper
    • XML
    • WebSocket
    • Web Notes
    • Web
    • Vue
    • Thymeleaf
    • SQL Server
    • SQL Notes
    • SQL
    • SpringSecurity
    • SpringMVC
    • SpringJPA
    • SpringCloud
    • SpringBoot
    • Spring Notes
    • Spring
    • Servlet
    • Ribbon
    • Redis
    • RabbitMQ
    • Python
    • PostgreSQL
    • OAuth2
    • NOSQL
    • Netty
    • MySQL
    • MyBatis
    • More
    • MinIO
    • MegaData
    • Maven
    • LoadBalancer
    • Kotlin Notes
    • Kotlin
    • Kafka
    • jQuery
    • JavaScript
    • Java Notes
    • Java
    • Hystrix
    • Git
    • Gateway
    • Freemarker
    • Feign
    • Eureka
    • ElasticSearch
    • Docker
    • Consul
    • Ajax
    • ActiveMQ
  • 页面
    • 归档
    • 摘要
    • 杂图
    • 问题随笔
  • 友链
    • Spring Cloud Alibaba
    • Spring Cloud Alibaba - 指南
    • Spring Cloud
    • Nacos
    • Docker
    • ElasticSearch
    • Kotlin中文版
    • Kotlin易百
    • KotlinWeb3
    • KotlinNhooo
    • 前端开源搜索
    • Ktorm ORM
    • Ktorm-KSP
    • Ebean ORM
    • Maven
    • 江南一点雨
    • 江南国际站
    • 设计模式
    • 熊猫大佬
    • java学习
    • kotlin函数查询
    • Istio 服务网格
    • istio
    • Ktor 异步 Web 框架
    • PostGis
    • kuangstudy
    • 源码地图
    • it教程吧
    • Arthas-JVM调优
    • Electron
    • bugstack虫洞栈
    • github大佬宝典
    • Sa-Token
    • 前端技术胖
    • bennyhuo-Kt大佬
    • Rickiyang博客
    • 李大辉大佬博客
    • KOIN
    • SQLDelight
    • Exposed-Kt-ORM
    • Javalin—Web 框架
    • http4k—HTTP包
    • 爱威尔大佬
    • 小土豆
    • 小胖哥安全框架
    • 负雪明烛刷题
    • Kotlin-FP-Arrow
    • Lua参考手册
    • 美团文章
    • Java 全栈知识体系
    • 尼恩架构师学习
    • 现代 JavaScript 教程
    • GO相关文档
    • Go学习导航
    • GoCN社区
    • GO极客兔兔-案例
    • 讯飞星火GPT
    • Hollis博客
    • PostgreSQL德哥
    • 优质博客推荐
    • 半兽人大佬
    • 系列教程
    • PostgreSQL文章
    • 云原生资料库
    • 并发博客大佬
Help?

Please contact us on our email for need any support

Support
    首页   ›   Spring   ›   正文
Spring

SpringBoot—Gson的使用

2020-03-13 01:14:01
960  0 0

阅读完需:约 2 分钟

和jackSon一样在springboot里面gson也不用配置直接导入依赖包就可以使用了,当如前提是要删除springboot默认的jackSon依赖

先删除jackSon的依赖,找到pom文件,在里面清除依赖:

接着下面导入gson的依赖:

不需要写版本号因为都在parent里面了!

接着便是日常的创建bean类和配置文件了:

public class User {
    private Integer id;
    private  String username;
    private  String address;

  //中间省略set,get和toString

}

重点在于配置文件:

@Configuration
public class WebMvcController {

    @Bean
    GsonHttpMessageConverter gsonHttpMessageConverter(){
        GsonHttpMessageConverter gson=new GsonHttpMessageConverter();
        gson.setGson(new GsonBuilder().setDateFormat("yyyy/MM/dd").create());
        return  gson;
   }

//    @Bean
//    Gson gson(){
//        return new GsonBuilder().setDateFormat("yyyy/MM/dd").create();
//    }

}

gson和jackson如果不配置也可以,因为有默认的GsonHttpMessageConverter方法

源码在 GsonHttpMessageConvertersConfiguration.java 里:

和jackson一样的道理会自动给你配置,但是如果你自己写了默认的便失效了!

同时我们还发现:

GsonHttpMessageConverter gsonHttpMessageConverter(Gson gson)

它是传递进来一个Gson才生效的,所以我们也可以直接在外面写Gson,源码在 GsonAutoConfiguration.java 里:

修改完后的配置代码:

@Configuration
public class WebMvcController {

//    @Bean
//    GsonHttpMessageConverter gsonHttpMessageConverter(){
//        GsonHttpMessageConverter gson=new GsonHttpMessageConverter();
//        gson.setGson(new GsonBuilder().setDateFormat("yyyy/MM/dd").create());
//        return  gson;
//   }

    @Bean
    Gson gson(){
        return new GsonBuilder().setDateFormat("yyyy/MM/dd").create();
    }
}
@RestController
public class UserController {
    @GetMapping("/user")
    public List<User> getAllUser(){
        List<User> users=new ArrayList<>();
        for(int i=0;i<10;i++){
            User user=new User();
            user.setAddress("www.enmalvi.com");
            user.setUsername("tiga"+i);
            user.setId(i);
            user.setBirthday(new Date());
            users.add(user);
        }
        return users;
    };
}

但是不管怎样结果是一样的:

如本文“对您有用”,欢迎随意打赏作者,让我们坚持创作!

0 打赏
Enamiĝu al vi
不要为明天忧虑.因为明天自有明天的忧虑.一天的难处一天当就够了。
543文章 68评论 294点赞 594002浏览

随机文章
SpringSecurity—基础知识点与流程介绍
5年前
LangChain+RAG—构建知识库(一)
1年前
SpringMVC笔记10—全局异常处理
5年前
Java—LinkedList
5年前
SpringMVC笔记—数据显示到前端(补充)
5年前
博客统计
  • 日志总数:543 篇
  • 评论数目:68 条
  • 建站日期:2020-03-06
  • 运行天数:1927 天
  • 标签总数:23 个
  • 最后更新:2024-12-20
Copyright © 2025 网站备案号: 浙ICP备20017730号 身体没有灵魂是死的,信心没有行为也是死的。
主页
页面
  • 归档
  • 摘要
  • 杂图
  • 问题随笔
博主
Enamiĝu al vi
Enamiĝu al vi 管理员
To be, or not to be
543 文章 68 评论 594002 浏览
测试
测试
看板娘
赞赏作者

请通过微信、支付宝 APP 扫一扫

感谢您对作者的支持!

 支付宝 微信支付