Reflector是Mybatis中反射模块的基础,每个Reflector对象都有对应一个类。
//对应的Class类型
private Class<?> type;
//getter属性的名称集合
private String[] readablePropertyNames = EMPTY_STRING_ARRAY;
//setter属性的名称集合
private String[] writeablePropertyNames = EMPTY_STRING_ARRAY;
//set方法名和对应的invoker对象
private Map<String, Invoker> setMethods = new HashMap<String, Invoker>();
//get方法名和对应的invoker对象
private Map<String, Invoker> getMethods = new HashMap<String, Invoker>();
//set方法名和对应的参数类型
private Map<String, Class<?>> setTypes = new HashMap<String, Class<?>>();
//get方法名和对应的参数类型
private Map<String, Class<?>> getTypes = new HashMap<String, Class<?>>();
//记录默认的无参构造
private Constructor<?> defaultConstructor;
//记录所有属性名
private Map<String, String> caseInsensitivePropertyMap = new HashMap<String, String>();