MetaObject、BeanWrapper、MetaClass、Reflector之间是通过装饰器模式逐层进行装饰的。其中MetaObject、BeanWrapper是操作对象;MetaClass、Reflector是操作Class
ObjectWrapper类结构图
BaseWrapper是对BeanWrapper、MapWrapper公共方法的提取及类图的优化,内部是对MetaObject的装饰。
MetaObject创建方式:
MetaObject metaObject = SystemMetaObject.forObject(new User());
MetaObject newMetaObject = new Configuration().newMetaObject(new User());