**
实例化ValueInstantiator过程
**
- BasicDeserializerFactory findValueInstantiator方法 269行 获取默认的ValueInstantiator
if (instantiator == null) {
// Second: see if some of standard Jackson/JDK types might provide value
// instantiators.
instantiator = _findStdValueInstantiator(config, beanDesc);
if (instantiator == null) {
instantiator = _constructDefaultValueInstantiator(ctxt, beanDesc);
}
}
-
BasicDeserializerFactory _constructDefaultValueInstantiator 方法 352行, 为BeanDescription添加反序列化构造器
-
BasicDeserializerFactory _addDeserializerConstructors方法, 检查引用变量的构造器
4.BasicDeserializerFactory _checkImplicitlyNamedConstructors方法,828行 为CreatorCollector 添加引用变量属性构造器, 通过ParameterNamesAnnotationIntrospector 获取属性数组
实例化JsonDeserializer过程
BeanDeserializerFactory buildBeanDeserializer方法, 最后的实例化的对象类型为BeanDeserializer, 也就是通过它讲json转成bean
实例化bean过程
PropertyValueBuffer _creatorParameters