Spring Boot AOP After Advice2025年1月17日 | 阅读时长:4分钟 After advice 用于面向方面编程以实现横切关注点。它是一种确保在方法执行后运行 advice 的 advice 类型。我们使用 @After 注解来实现 after advice。 让我们通过一个例子来理解 after advice。 Spring Boot After Advice 示例步骤1: 打开Spring Initializr http://start.spring.io。 步骤 2: 提供 Group 名称。我们提供的 Group 名称是 com.javatpoint。 步骤 3: 提供 Artifact Id。 我们提供了 Artifact Id aop-after-advice-example。 步骤4: 添加Spring Web依赖项。 步骤 5: 点击 Generate 按钮。 当我们点击 Generate 按钮时,它将所有规范包装在一个 jar 文件中,并将其下载到本地系统。 ![]() 步骤 6: 解压 下载的 jar 文件。 步骤 7: 导入 文件夹,按照以下步骤 文件 -> 导入 -> 现有 Maven 项目 -> 下一步 -> 浏览文件夹 aop-after-advice-example -> 完成。 步骤 8: 打开 pom.xml 文件并添加以下 AOP 依赖。 它是面向切面编程的启动器,具有 Spring AOP 和 AspectJ。 pom.xml 步骤 9: 打开 AopAfterAdviceExampleApplication.java 文件并添加注解 @EnableAspectJAutoProxy。 它支持处理使用 AspectJ 的 @Aspect 注解标记的组件。它与 @Configuration 注解一起使用。 我们可以使用 proxyTargetClass 属性来控制代理类型。 其默认值为 false。 AopAfterAdviceExampleApplication.java 步骤 10: 创建一个名为 com.javatpoint.model. 的包。 步骤 11: 在包 com.javatpoint.model. 下创建一个模型类。 我们创建了一个名为 Employee 的类。 在类中,定义以下内容
Employee.java 步骤 12: 创建一个名为 com.javatpoint.controller. 的包。 步骤 13: 在包 com.javatpoint.controller. 下创建一个控制器类。 我们创建了一个名为 EmployeeController 的类。 在控制器类中,我们定义了两个映射,一个用于添加员工,另一个用于删除员工。 EmployeeController.java 步骤 14: 创建一个名为 com.javatpoint.service. 的包。 步骤 15: 在包 com.javatpoint.service. 下创建一个服务类。 我们创建了一个名为 EmployeeService 的类。 在 Service 类中,我们定义了两种方法 createEmployee 和 deleteEmployee。 EmployeeService.java 步骤 16: 创建一个名为 com.javatpoint.aspect. 的包。 步骤 17: 在包 com.javatpoint.aspect. 下创建一个方面类。 我们创建了一个名为 EmployeeServiceAspect 的类。 在方面类中,我们定义了 after-advice 逻辑。 EmployeeServiceAspect.java 在上面的类中
创建所有模块后,项目目录如下所示 ![]() 我们已经设置了所有模块。 现在我们将运行应用程序。 步骤 18: 打开 AopAfterAdviceExampleApplication.java 文件并将其作为 Java 应用程序运行。 步骤 19: 打开浏览器并调用以下 URL: https://:8080/add/employee?empId={id}&firstName={fname}&secondName={sname} 在上面的 URL 中,/add/employee 是我们在 Controller 类中创建的映射。 我们使用了两个分隔符 (?) 和 (&) 来分隔两个值。 ![]() 在上面的输出中,我们分配了 emId 102, firstName=Sachin, 和 secondName=Bansal。 让我们看看控制台。 我们看到在调用 EmployeeService 类的 createEmployee() 方法之后,EmployeeServiceAspect 类的 afterAdvice() 方法被调用,如下所示。 ![]() 类似地,我们也可以通过调用 URL https://:8080/remove/employee?empId=102 来删除员工。 它返回消息 Employee removed,如下图所示。 ![]() 在本节中,我们学习了 after advice 的工作原理。 在下一节中,我们将学习 around advice 的工作原理。 |
我们请求您订阅我们的新闻通讯以获取最新更新。