后置通知

【后置通知】

1.后置通知是在连接点完成之后执行的,即连接点返回结果或者抛出异常的时候,下面的后置通知记录了方法的终止。

2、一个切面可以包括一个或者多个通知。

示例:

LoggingAspect.java:

1     //后置通知:在目标方法执行后(无论是否发生异常),执行的通知。
2     @After("execution(public int com.hk.spring.aop.impl.ArithmeticCalculator.*(int,int))")
3     public void afterMethod(JoinPoint joinPoint){
4         String methodName = joinPoint.getSignature().getName();
5         System.out.println("The method " + methodName + " ends");
6     }

Main.java:

 1 public class Main {
 2     public static void main(String[] args) {
 3         //1.创建Spring的IOC容器
 4         ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
 5         
 6         //2.从IOC容器中获取Bean的实例
 7         ArithmeticCalculator arithmeticCalculator = ctx.getBean(ArithmeticCalculator.class);
 8         //3.使用bean
 9         int result = arithmeticCalculator.add(3, 6);
10         System.out.println("result:" + result);
11         
12         result = arithmeticCalculator.div(12, 2);
13         System.out.println("result:" + result);
14     }
15 
16 }

运行结果:

假如将Main.java中的div方法中的第二个参数改为0,看看会发生什么情况?

运行结果:

注意:在后置通知中,还不能访问目标方法执行的结果。

每接触一个新领域,我就像一块掉进水里的海绵,四面八方的养分都让我不断充实。O(∩_∩)O~
原文地址:https://www.cnblogs.com/zhzcode/p/9669842.html