)系列文章汇总
- [jackson学习之一:基本信息](
)
- [jackson学习之二:jackson-core](
)
- [jackson学习之三:常用API操作](
)
- [jackson学习之四:WRAP_ROOT_VALUE(root对象)](
)
- [jackson学习之五:JsonInclude注解](
)
- [jackson学习之六:常用类注解](
)
- [jackson学习之七:常用Field注解](
)
- [jackson学习之八:常用方法注解](
)
- [jackson学习之九:springboot整合(配置文件)](
)
- [jackson学习之十(终篇):springboot整合(配置类)](
)
[]()关于springboot整合jackson
- 本文是《jackson学习》系列的第九篇,学习如何在springboot项目中使用jackson,以springboot-2.3.3版本为例,jackson是springboot的默认json处理工具,如下图红框所示,jackson在maven配置中被spring-boot-starter-web间接依赖,可直接使用:
- 在springboot项目中常用的配置方式有两种:
-
用properties或yml配置文件来配置,即本篇的内容;
-
用配置类来配置,这是下一篇文章的主题;
)本篇概览
今天实战内容如下:
-
开发springboot应用,体验springboot默认支持jackson,包括jackson注解和ObjectMapper实例的注入;
-
在application.yml中添加jackson配置,验证是否生效;
)源码下载
- 如果您不想编码,可以在GitHub下载所有源码,地址和链接信息如下表所示(https://github.com/zq2599/blog_demos):
| 名称 | 链接 | 备注 |
| :-- | :-- | :-- |
| 项目主页 | https://github.com/zq2599/blog_demos | 该项目在GitHub上的主页 |
| git仓库地址(https) | https://github.com/zq2599/blog_demos.git | 该项目源码的仓库地址,https协议 |
| git仓库地址(ssh) | git@github.com:zq2599/blog_demos.git | 该项目源码的仓库地址,ssh协议 |
- 这个git项目中有多个文件夹,本章的应用在jacksondemo文件夹下,如下图红框所示:
- jacksondemo是父子结构的工程,本篇的代码在springbootproperties子工程中,如下图:
)开始实战
- 由于同属于《jackson学习》系列文章,因此本篇的springboot工程作为jacksondemo的子工程存在,pom.xml如下,需要注意的是parent不能使用spring-boot-starter-parent,而是通过dependencyManagement节点来引入springboot依赖:
xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd”> 4.0.0 jacksondemo com.bolingcavalry 1.0-SNAPSHOT …/pom.xml com.bolingcavalry springbootproperties 0.0.1-SNAPSHOT springbootproperties Demo project for Spring Boot org.springframework.boot spring-boot-dependencies 2.3.3.RELEASE pom import org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine io.springfox springfox-swagger2 io.springfox springfox-swagger-ui org.springframework.boot spring-boot-maven-plugin package com.bolingcavalry.springbootproperties; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringbootpropertiesApplication { public static void main(String[] args) { SpringApplication.run(SpringbootpropertiesApplication.class, args); } } package com.bolingcavalry.springbootproperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.documentation.service.Tag; import springfox.documentation.spi.documentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(documentationType.SWAGGER_2) .apiInfo(apiInfo()) .tags(new Tag(“JsonPropertySerializationController”, “JsonProperty相关测试”)) .select() // 当前包路径 .apis(Reque stHandlerSelectors.basePackage(“com.bolingcavalry.springbootproperties.controller”)) .paths(PathSelectors.any()) .build(); } //构建 api文档的详细信息函数,注意这里的注解引用的是哪个 private ApiInfo apiInfo() { return new ApiInfoBuilder() //页面标题 .title(“SpringBoot整合Jackson(基于配置文件)”) //创建人 .contact(new Contact(“程序员欣宸”, “https://github.com/zq2599/blog_demos”, “zq2599@gmail.com”)) //版本号 .version(“1.0”) //描述 .description(“API 描述”) .build(); } } package com.bolingcavalry.springbootproperties.bean; import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.util.Date;【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取



