Spring-3-Spring AOP概念全面解析

发布于 2024-07-19
691

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

扫码阅读
手机扫码阅读

文章摘要

今日目标

  • 理解AOP的作用
  • 完成AOP的入门案例
  • 理解AOP的工作流程
  • 掌握AOP的五种通知类型

一、AOP

1. AOP简介

AOP(Aspect Oriented Programming,面向切面编程)是一种编程范式,用于在不修改方法源代码的基础上增强功能。其核心理念符合Spring的无入侵式要求。

2. AOP入门案例

基于Spring框架,通过定义接口与实现类、通知类、切入点表达式以及Spring配置类,完成对目标方法的增强。使用注解开发时,Spring可根据接口或类自动生成代理对象,通过切面类实现功能增强。

3. AOP工作流程

AOP通过Spring容器启动时检测切入点匹配情况,将匹配的目标对象转换为代理对象。调用代理对象时,既运行原始方法也执行增强功能;调用原始对象时,仅执行原始方法。

4. AOP切入点表达式

切入点表达式用于描述需要增强的方法,采用标准格式(访问修饰符、返回类型、类全名、方法名、参数类型等)。支持通配符(*、..、+)简化书写规则,提升开发效率。

5. AOP通知类型

  • 前置通知:在切入点方法执行前运行(@Before)。
  • 最终通知:无论是否异常,切入点方法执行后运行(@After)。
  • 后置通知:仅在切入点方法正常执行后运行(@AfterReturning)。
  • 异常通知:切入点方法抛出异常后运行(@AfterThrowing)。
  • 环绕通知:在切入点方法前后均可运行,需通过ProceedingJoinPoint手动调用原始方法(@Around)。

环绕通知是重点,支持灵活增强功能。需注意方法形参和返回值类型规范。

springboot葵花宝典

主要分享JAVA技术,主要包含SpringBoot、SpingCloud、Docker、中间件等技术,以及Github开源项目

272 篇文章
浏览 231.5K

还在用多套工具管项目?

一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。

加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线