Javassist 注解解析:读取运行时类注解信息
通过 Javassist 的 ClassPool、CtClass 和 getAnnotations API 读取 Java 类上的注解,并从自定义 Author 注解中取得名称与年份属性。
通过 Javassist 的 ClassPool、CtClass 和 getAnnotations API 读取 Java 类上的注解,并从自定义 Author 注解中取得名称与年份属性。
本文使用 Javassist 定位目标类和方法,通过 insertBefore 与 insertAfter 在不修改源码的情况下织入代码,记录方法入参和返回值。
通过一个完整示例学习 Javassist 的基础 API:动态创建 Java 类,为类添加字段、Getter、Setter、无参和有参构造函数,并输出生成的 class 文件。
在 Java Agent 基础示例上继续实践:通过 Javassist 的 CodeAttribute 与 LocalVariableAttribute 读取方法参数名,并插入参数输出代码。
本文通过最小可运行示例介绍 Java Agent,演示 premain 入口、Instrumentation 类转换机制,以及使用 Javassist 在目标方法前后插入观测逻辑。