Spring boot中的 JsonConverter

上图是spring-web包的部分目录

为了找出调用了哪种类型的Convert 我找到父类 HttpMessageConverter 查看了它的引用
在spring-boot-autoconfigure 中找到以下自动配置

org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration.ConditionalOnClass=org.springframework.http.converter.HttpMessageConverter
org.springframework.boot.autoconfigure.gson.GsonAutoConfiguration.ConditionalOnClass=com.google.gson.Gson
org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration=
org.springframework.boot.autoconfigure.jsonb.JsonbAutoConfiguration.Configuration=

这里解释一下 @ConditionalOnClass(某个class位于类路径上,才会实例化一个Bean)
所以判断 默认的类型是Gson转换

如果要改变默认的转换方式 只需要在项目配置文件中加入
spring.http.converters.preferred-json-mapper=gson

可以看到默认配置中的HttpMessageConvertersAutoConfiguration 可以用了

posted on 2019-08-19 10:58  Thieves  阅读(633)  评论(0编辑  收藏  举报

导航