首页 > 代码库 > 自定义注解的应用
自定义注解的应用
在项目中经常会用到自定义注解,下面列举二个使用自定义注解的案例。
一、利用自定义注解打印接口调用时长日志
#创建ServiceLog类用来自定义注解@Retention(RetentionPolicy.Runtime)@Target(ElementType.METHOD)public @interface ServiceLog {}#定义ServiceLogAspect类用来定义日志打印信息@Component@Aspect public class ServiceLogAspect { public ThreadLocal<Long> local = new ThreadLocal<Long>(); @Pointcut("@annotation(com.test.XXX.ServiceLong)") public void pointCut() { } @Before("pointCut()") public void before(JoinPoint point) { String methodName = point.getTarget().getClass().getName()+"."+point.getSignature().getName(); local.set(System.currentTimeMillis()); } @After("pointCut()") public void after(JoinPoint point) { long start = local.get(); String methodName = point.getTarget().getClass().getName()+"."+point.getSignature().getName(); System.out.println(System.currentTimeMillis()-start)); } @AfterThrowing(pointcut="pointCut()",throwing="error") public void throwing(JoinPoint point,Throwable error) { System.out.println("error"); }}
完成上述定义,如果需要记录方法调用时长时,可以直接使用@ServiceLog注解。
自定义注解的应用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。