2. 执行方法
// 执行方法Object invokeMethod(Method method, Object target)// 同上 , 提供方法参数Object invokeMethod(Method method, Object target, Object... args)// 取消 JAVA 权限检查 。以便后续执行该私有方法void makeAccessible(Method method)// 取消 Java 权限检查 。以便后续执行私有构造方法void makeAccessible(Constructor<?> ctor)3. 获取字段
// 在类中查找指定属性Field findField(Class<?> clazz, String name)// 同上 , 多提供了属性的类型Field findField(Class<?> clazz, String name, Class<?> type)// 是否为一个 "public static final" 属性boolean isPublicStaticFinal(Field field)4. 设置字段
// 获取 target 对象的 field 属性值Object getField(Field field, Object target)// 设置 target 对象的 field 属性值 , 值为 valuevoid setField(Field field, Object target, Object value)// 同类对象属性对等赋值void shallowCopyFieldState(Object src, Object dest)// 取消 Java 的权限控制检查 。以便后续读写该私有属性void makeAccessible(Field field)// 对类的每个属性执行 callbackvoid doWithFields(Class<?> clazz, ReflectionUtils.FieldCallback fc)// 同上 , 多了个属性过滤功能 。void doWithFields(Class<?> clazz, ReflectionUtils.FieldCallback fc,ReflectionUtils.FieldFilter ff)// 同上 , 但不包括继承而来的属性void doWithLocalFields(Class<?> clazz, ReflectionUtils.FieldCallback fc)
AopUtils1. 判断代理类型
// 判断是不是 Spring 代理对象boolean isAopProxy()// 判断是不是 jdk 动态代理对象isJdkDynamicProxy()// 判断是不是 CGLIB 代理对象boolean isCglibProxy()2. 获取被代理对象的 class
// 获取被代理的目标 classClass<?> getTargetClass()AopContext1. 获取当前对象的代理对象
Object currentProxy()
推荐阅读
- 宽恕别人就是宽恕自己?人生最大的宽容是饶恕
- 新生儿自己睡小床好吗?
- 女人虚伪的10个表现
- 古代妃嫔的孩子为什么不能自己养?古代宫女为什么不能生育
- 好听又霸气的句子?写给自己的霸气一段话个性说说
- 哪些生肖女人不靠男人靠自己?做个女人不容易凡事靠自己
- 求职|考上公务员月薪4000,想辞职出来自己干,孩子请记住!我们是凡人
- 孔融让梨长大后的孔融做出了什么事?孔融让梨的害死了自己
- 如何锻炼肌肉长得快长得好
- 如何缓解运动后的肌肉酸疼呢?
