JSON序列化最后的结果

今天在开发中想到了一个问题

@RequestBody 注解背后的处理逻辑是怎样的,后面在网上查询到 都是通过  请求头或响应头的Accept属性选择匹配的HttpMessageConverter,进而根据参数类型和泛型类型的过滤得到匹配的HttpMessageConverter。但是大多数都只是仅仅告诉你怎么去使用,这次我们来深究其底层运行原理:

我采用JackJson作为JSON解析工具,运行并且客户端请求后,我们来到AbstractJackson2HttpMessageConverter 的 

private Object readJavaType(JavaType javaType, HttpInputMessage inputMessage) 方法内

JSON序列化最后的结果

获取到类以及从流中读取数据后

JSON序列化最后的结果

读取JackJson配置进行反序列化

JSON序列化最后的结果

JSON序列化最后的结果最后大家可以看到,最终的构造实例的操作是使用JDK通过构造方法反射去构造实例的。

记载一下今天想到的问题,并且深入去了解。