當前位置:
首頁 > 知識 > Mybatis TypeParameterResolver

Mybatis TypeParameterResolver

TypeParameterResolver這是個工具類,提供了一系類靜態方法來解析指定類中欄位,方法返回值或作者方法參數類型。

public static Type resolveFieldType(Field field, Type srcType) {//解析欄位的類型
Type fieldType = field.getGenericType();//獲取欄位的聲明類型
Class<?> declaringClass = field.getDeclaringClass();//獲取欄位定義所在的類的Class對象
return resolveType(fieldType, srcType, declaringClass);//後續處理
}
private static Type resolveType(Type type, Type srcType, Class<?> declaringClass) {
if (type instanceof TypeVariable) {//解析type為TypeVariable類型的
return resolveTypeVar((TypeVariable<?>) type, srcType, declaringClass);
} else if (type instanceof ParameterizedType) {//解析type為ParameterizedType類型的
return resolveParameterizedType((ParameterizedType) type, srcType, declaringClass);
} else if (type instanceof GenericArrayType) {//解析type為GenericArrayType類型的
return resolveGenericArrayType((GenericArrayType) type, srcType, declaringClass);
} else {
return type;//class類型
}//由於wildcardType是通配符泛型,所以不會直接把欄位,返回值,參數定義為此類型,但可嵌套在別的類型中
}

Mybatis TypeParameterResolver

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

MQTT協議的初淺認識之推送訂閱
Spring data MongoDB 之 MongoRepository

TAG:程序員小新人學習 |