@Before @After和@AfterExecution在Spring aop

时间:2015-07-08 13:48:36

标签: java spring aop spring-aop

我已经开始学习Spring AOP了。

我是否可以对@Before @After和@AfterExecution进行简要介绍。

这三个注释与@Before和@After混淆,因为它们都是在方法执行开始之前执行的。

我能否对@Before和@After提出一些建议。

提前致谢。

2 个答案:

答案 0 :(得分:11)

This是一个很好的网站,它解释了Spring AOP,特别是这一部分;

  

AOP建议类型

     

根据建议的执行策略,它们具有以下特征   类型。

     

  • 建议之前:这些建议在执行之前运行   连接点方法。我们可以使用@Before注释来标记建议   类型为之前的建议。
  • 之后(最后)建议:建议   在连接点方法完成执行后执行,   无论是正常还是抛出异常。我们可以创造   使用@After注释的建议。
  • 返回建议后:   有时我们希望只有连接点才能执行建议方法   方法正常执行。我们可以使用@AfterReturning注释   返回建议后标记方法。
  • 投掷后   建议:此建议仅在连接点方法抛出时执行   异常,我们可以使用它以声明方式回滚事务。我们   对这种建议使用@AfterThrowing注释。
  • 内外   建议:这是最重要和最有力的建议。这个建议   围绕连接点方法,我们也可以选择是否   是否执行连接点方法。我们可以编写建议代码   在执行连接点方法之前和之后执行。   围绕建议调用连接点是责任   方法和返回值,如果方法返回一些东西。我们用   @Around注释创建周围的建议方法。

答案 1 :(得分:2)

  1. 在建议之前,它是在实际方法调用之前执行的。
  2. 咨询后,它在实际方法调用之后执行。如果方法返回值,则在返回值后执行。
  3. 围绕建议,它在实际方法调用之前和之后执行。
  4. 抛出建议,如果实际方法抛出异常,则执行该建议。

https://www.javatpoint.com/spring-aop-example