欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Spring-使用注解定义切面

时间:2023-08-07

//定义切面@Aspectpublic class AnnotationPointCut { //定义切入点 @Before(value = "execution(* com.simple1.UserDaoImpl.*(..))") public void before(){ System.out.println("方法执行前"); } @After(value = "execution(* com.simple1.UserDaoImpl.*(..))") public void after(){ System.out.println("方法执行后"); }// 环绕方法,可以写一个参数,用于接收我们要切入的点 @Around(value = "execution(* com.simple1.UserDaoImpl.*(..))") public void around(ProceedingJoinPoint joinPoint) throws Throwable { System.out.println("环绕前");//环绕前,要在before前面 Object proceed = joinPoint.proceed();//执行被代理对象的方法 System.out.println(joinPoint.getTarget().getClass());// joinPoint.getSignature() 获取被代理对象被调用的方法签名 System.out.println(joinPoint.getSignature()); System.out.println("环绕后");//环绕后,要在after之前 }}

环绕方法可以添加一个参数

ProceedingJoinPoint joinPoint

是一个连接点的对象,里面保存着目标对象,可以调用连接点执行被代理的方法

xml上下文中需要的配置

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。