jackson 学习之十 (终篇):springboot 整合 (配置类)
欢迎访问我的 GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
本篇概览
本文是《jackson 学习》系列的终篇,经过前面的一系列实战,相信您已可以熟练使用 jackson 灵活的执行各种 json 序列化和反序列化操作,那么,本篇就以轻松的方式来完成整个系列吧;
上一篇介绍的是在 springboot 中通过配置文件对 jackson 做设置,今天要聊的是另一种常用的 jackson 配置方式:配置类,就是自己编写代码实例化和配置 springboot 全局使用的 ObjectMapper 实例;
源码下载
如果您不想编码,可以在 GitHub 下载所有源码,地址和链接信息如下表所示(https://github.com/zq2599/blog_demos):
这个 git 项目中有多个文件夹,本章的应用在 jacksondemo 文件夹下,如下图红框所示:
jacksondemo 是父子结构的工程,本篇的代码在 springbootconfigbean 子工程中,如下图:
编码
在父工程 jacksondemo 下新增子工程 springbootconfigbean,pom.xml 如下:
本文最重要的代码是配置类 JacksonConfig.java,如下,需要 ConditionalOnMissingBean 注解避免冲突,另外还给实例指定了名称 customizeObjectMapper,如果应用中通过 Autowired 使用此实例,需要指定这个名字,避免报错"There is more than one bean of 'ObjectMapper ' type":
对于 JacksonConfig.getObjectMapper 方法内的设置,如果您想做更多设置,请参考《jackson学习之三:常用API操作》里面的设置内容;
启动类依然很简单:
swagger 配置:
最后是测试用的 Controller 类,要注意的是在使用 ObjectMapper 实例的地方,用 Autowired 注解的时候,记得带上 Qualifier 注解:
验证
启动 SpringbootConfigBeanApplication 后,浏览器打开:http://localhost:8080/swagger-ui.html
先验证序列化接口/jsonproperty/serialization:
再验证反序列化接口 /jsonproperty/deserialization:
至此,整个《jackson 学习》系列就全部完成了,希望这十篇内容能够给您带来一些参考,助您在编码过程中更加得心应手的使用 Jackson;
欢迎关注 InfoQ:程序员欣宸
版权声明: 本文为 InfoQ 作者【程序员欣宸】的原创文章。
原文链接:【http://xie.infoq.cn/article/b5cbb127853d765507d9ba3c2】。文章转载请联系作者。
评论