Flask接口签名sign原理与实例代码浅析
364
2022-12-12
基于spring@aspect注解的aop实现过程代码实例
@AspectJ 作为通过 java 5 注释注释的普通的 Java 类,它指的是声明 aspegkKTprcts 的一种风格。通过在你的基于架构的 XML 配置文件中包含以下元素,@AspectJ 支持是可用的。
第一步:编写切面类
package com.dascom.hawk.app.web.tool;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class AnnotationAspectJ {
//定义切面("execution(* com.dascom.common.aop.*.*(..)))
//当前配置的意思是所有添加了SuiteMessage的注解的方法作为切点
@Pointcut("@annotation(com.dascom.common.annotation.SuiteMessage)")
public void logPointCut() {
}
//前置通知
@Before("logPointCut()")
public void before(JoinPoint point) {
String calssName = point.getTarget().getClass().getName();
String method = point.getSignature().getName();
System.out.println(calssName + " : " + method);
}
//后置通知
@After("logPointCut()")
public void after(JoinPoint point) {
String method = point.getSignature().getName();
System.out.println(method + ": end----");
}
//环绕通知
@Around("logPointCut()")
public Object around(ProceedingJoinPoint point) throws Throwable {
long beginTime = System.currentTimeMillis();
// 执行方法
Object result = point.proceed();
// 执行时长(毫秒)
long time = System.currentTimeMillis() - beginTime;
//异步保存日志
System.out.println(time);
http:// return result;
}
}
第二步:在spring的配置文件中添加注解扫描
xmlns:xsi="http://w3.org/2001/XMLSchema-instance" xmlns:aop="http://springframework.org/schema/aop" xmlns:context="http://springframework.org/schema/context" xsi:schemaLocation="http://springframework.org/schema/beans http://springframework.org/schema/beans/spring-beans.xsd http://springframework.org/schema/aop http://springframework.org/schema/aop/spring-aop.xsd http://springframework.org/schema/context http://springframework.org/schema/context/spring-context.xsd"> gkKTpr
xmlns:xsi="http://w3.org/2001/XMLSchema-instance"
xmlns:aop="http://springframework.org/schema/aop"
xmlns:context="http://springframework.org/schema/context"
xsi:schemaLocation="http://springframework.org/schema/beans http://springframework.org/schema/beans/spring-beans.xsd
http://springframework.org/schema/aop http://springframework.org/schema/aop/spring-aop.xsd
http://springframework.org/schema/context http://springframework.org/schema/context/spring-context.xsd">
gkKTpr
第三步:搞定。爽歪歪~~~
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~