SSM(5)-AOP-使用注解实现

承接上篇,第三种方式,使用注解实现
1.编写注解增强类(此篇是在前篇的基础上做的差异性描述)
2.配置beans.xml
3.写个测试类
 


1.编写注解增强类

@Aspect
public class AnnotationPointcut {
   @Before("execution(* com.service.UserServiceImpl.*(..))")
   public void before(){
       System.out.println("---------方法执行前---------");
  }

   @After("execution(* com.service.UserServiceImpl.*(..))")
   public void after(){
       System.out.println("---------方法执行后---------");
  }

   @Around("execution(* com.service.UserServiceImpl.*(..))")
   public void around(ProceedingJoinPoint jp) throws Throwable {
       System.out.println("环绕前");
       System.out.println("签名:"+jp.getSignature());
       //执行目标方法proceed
       Object proceed = jp.proceed();
       System.out.println("环绕后");
       System.out.println(proceed);
  }
}



2.配置beans.xml
 

<!--第三种方式:注解实现-->
<bean id="annotationPointcut" class="com.kuang.config.AnnotationPointcut"/>
<aop:aspectj-autoproxy/>



3.写测试程序
 

public class MyTest {
   @Test
   public void test(){
       ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
       UserService userService = (UserService) context.getBean("userService");
       userService.add();
  }
}

猜你喜欢

转载自blog.csdn.net/aggie4628/article/details/107825237