前面我们介绍了Reflector类,Reflector主要完成了Class类中Setter、Getter方法的封装,可以使用属性获取对应的Getter、Setter方法完成方法的调用,同时也可以判断属性是否存在,是否存在Getter、Setter方法。
使用Reflector解决了访问Class类中属性的问题,但是如果属性是成员实例,如果要访问实例下的属性时就需要手动实现了,如果牵扯到多级嵌套实例,再解决时就会更加繁琐,Mybatis中封装了MetaClass能够解决我们的这个问题。本篇我们主要介绍MetaClass类。
一、MetaClass实例
private final ReflectorFactory reflectorFactory
private final Reflector reflector;private MetaClass(Class<?> type, ReflectorFactory reflectorFactory) {this.reflectorFactory = reflectorFactory;this.reflector = reflectorFactory.findForClass(type);
}
类中只定义了reflectorFactory、reflector两个字段
MetaClass类提供了一个私有的构造方法,接收一个Class对象和