Spring Boot AOP 抛出后建议

2025年1月17日 | 阅读时长:4分钟

抛出后是在 Spring AOP 中的一种建议类型。它确保如果一个方法抛出异常,则会运行一个建议。我们使用 @AfterThrowing 注解来实现抛出后建议。

语法

其中

PointCut: 它选择一个函数。

execution(expression): 这是一个要应用建议的表达式。

throwing: 要返回的异常的名称。

让我们在一个应用程序中实现抛出后建议。

Spring Boot 抛出后建议示例

我们将在此部分中使用之前的示例。您可以下载该项目或在之前的示例中进行一些修改。

Spring Boot 抛出后建议示例

步骤1: 打开Spring Initializr http://start.spring.io。

步骤 2: 提供 Group 名称。我们提供的 Group 名称是 com.javatpoint。

步骤 3:提供 Artifact Id。 我们提供了 Artifact Id aop-after-throwing-advice-example。

步骤4: 添加Spring Web依赖项。

步骤 5: 点击 Generate 按钮。 当我们点击 Generate 按钮时,它将所有规范包装在一个 jar 文件中,并将其下载到本地系统。

步骤 6: 解压 下载的 jar 文件。

步骤 7: 通过以下步骤 导入 该文件夹

文件 -> 导入 -> 现有 Maven 项目 -> 下一步 -> 浏览文件夹 aop-after-throwing-advice-example -> 完成。

步骤 8: 打开 pom.xml 文件并添加以下 AOP 依赖。 它是面向切面编程的启动器,具有 Spring AOPAspectJ

pom.xml

步骤 9:src/main/java 文件夹中创建一个名为 com.javatpoint.model 的包

步骤 10: 在包 com.javatpoint.model 中创建一个名为 Account 的类

在 Account 类中,执行以下操作

  • 定义了两个类型为 String 的变量 accountNumberaccountType
  • 右键单击该文件 -> 源 -> 使用字段生成构造函数
  • 生成 Getters。
    右键单击该文件 -> 源 -> 生成 Getters 和 Setters -> 选择 Getters -> 生成
  • 生成一个 toString()
    右键单击该文件 -> 源 -> 生成 toString()

Account.java

步骤 11: 创建另一个名为 com.javatpoint.service.impl. 的包。

步骤 12: 在此包中,创建一个名为 AccountServiceImple 的类

在此类中,我们定义了帐户服务。

AccountServiceImpl.java

步骤 13: 在包 com.javatpoint.service.impl. 中创建一个名为 AccountService 的接口。

AccountService.java

步骤 14: 创建一个名为 com.javatpoint.aspect. 的包。

步骤 15: 在包 com.javatpoint.aspect 中创建一个名为 AccountAspect 的类

在此类中,我们使用注解 @AfterThrowing 实现了抛出后建议 我们还定义了一个方法 afterThrowingAdvice() 方法。

注意:我们在 throwing 属性中定义的名称 (例如) 必须与建议方法中的参数名称相对应。 否则,建议将无法运行。

AccountAspect.java

步骤 16: 打开 AopAfterThrowingAdviceExampleApplication.java 文件并添加注解 @EnableAspectJAutoProxy。

该注解启用对处理使用 AspectJ 的 @Aspect 注解标记的组件的支持。 它与 @Configuration 注解一起使用。

我们使用了注解 @EnableAspectJAutoProxy 的 proxyTargetClass 属性。 属性 proxyTargetClass=true 允许我们使用 CGLIB(代码生成库)代理,而不是基于默认接口的 JDK 代理方法。

ConfigurableApplicationContext 是一个接口,除了 ApplicationContext 中的应用程序上下文客户端方法之外,它还提供了配置应用程序上下文的设施。

AopAfterThrowingAdviceExampleApplication.java

创建所有类和包后,项目目录如下所示

Spring Boot AOP After Throwing Advice

步骤 17: 打开 AopAfterThrowingAdviceExampleApplication.java 文件并将其作为 Java 应用程序运行。 它显示输出,如下所示

Spring Boot AOP After Throwing Advice
下一主题Spring Boot JPA