1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package test.aop;
18
19 import org.aspectj.lang.ProceedingJoinPoint;
20 import org.aspectj.lang.annotation.Around;
21 import org.aspectj.lang.annotation.Aspect;
22 import org.aspectj.lang.annotation.Before;
23
24 @Aspect
25 public class TwoAdviceAspect {
26 private int totalCalls;
27
28 @Around("execution(* getAge())")
29 public int returnCallCount(ProceedingJoinPoint pjp) throws Exception {
30 return totalCalls;
31 }
32
33 @Before("execution(* setAge(int)) && args(newAge)")
34 public void countSet(int newAge) throws Exception {
35 ++totalCalls;
36 }
37 }