您的位置:首页 > 编程语言 > ASP

Spring Boot AspectJ AOP的使用

2017-09-20 19:57 393 查看

Spring Boot AspectJ AOP的使用

启用cglib代理

#启用cglib代理
spring.aop.proxy-target-class=true


定义切面点并实例化

@Component
@Aspect
public class SimpleAspect {

@Pointcut(value = "execution(* com.xmy.service.*Service*.*(..))")
public void pointcut() {
// 这里的代码不执行
}

@Before("pointcut()")
public void before(JoinPoint joinPoint) {
System.out.println("SimpleAspect.before()");
// 获取传入的参数值
Object[] args = joinPoint.getArgs();
for (Object object : args) {
System.out.println(object);
}
// 获取方法名
Signature signature = joinPoint.getSignature();
System.out.println(signature.getName());
// 获取参数名
CodeSignature codeSignature = (CodeSignature) signature;
String[] parameterNames = codeSignature.getParameterNames();
for (String string : parameterNames) {
System.out.println(string);
}
// 啥玩意?触发事件?
String kind = joinPoint.getKind();
System.out.println("kind : " + kind);
// 获取目标对象
Object target = joinPoint.getTarget();
System.out.println(target);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: