1、创建一个注解
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * @Author: lcl * @Date: 2020-01-04 19:51 * @Description: 计算方法运行时间的注解 */ @Target(ElementType.METHOD)//只能在方法上使用 @Retention(RetentionPolicy.RUNTIME)//运行时可以获取到 public @interface RunTime { }
2、创建JDK动态代理类,用于生成代理对象
import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; /** * @Author: lcl * @Date: 2020-01-04 19:12 * @Description: JDK动态代理 计算方法运行时间 */ public class JdkDynamicProxy implements InvocationHandler { /** * 要被代理的对象 */ private Object target; public JdkDynamicProxy(Object target) { this.target = target; } /** * 获取被代理接口实例对象 * @
利用JDK动态代理+注解实现计算方法运行时间
最新推荐文章于 2022-08-05 10:25:30 发布
本文介绍了如何结合JDK动态代理和自定义注解来实现计算方法运行时间的功能。首先,创建了一个注解用于标记需要计算时间的方法。接着,通过JDK动态代理生成代理对象,拦截标记了注解的方法并在执行前后记录时间。最后,创建测试接口、实现类并进行测试,展示计算结果。
摘要由CSDN通过智能技术生成