SSM-Spirng-面向切面编程-SpringAop基本概念

本文深入探讨了Spring的面向切面编程(AOP),包括切面、通知、切点等核心概念。介绍了Spring AOP的四种实现方式,如@AspectJ注解驱动,以及其在实际编程中的应用。AOP主要用于日志记录、事务管理等场景,通过动态代理实现方法拦截。重点强调了@AspectJ注解在AOP编程中的常见使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SSM-Spirng-面向切面编程-SpringAop基本概念

​ Aop是通过动态代理模式,管控各个对象操作切面环境,管理包括日志,数据库事务等操作


面向切面编程的术语

  1. 切面(Aspect):能在被代理对象的方法之前,之后,产生异常或者返回正常值之后切入代码,甚至代替原来被代理对象的方法,在动态代理中可以理解成一个拦截器
  2. 通知(Adice):是切面开启后,切面的方法。根据在代理对象真实方法调用前,后的顺序和逻辑区分。
    • 前置通知(before):在动态代理反射原有对象方法或执行围绕通知前执行的通知功能
    • 后置通知(after):在动态代理反射原有对象方法或执行围绕通知后执行的通知功能。无论是否抛出异常,都会被执行
    • 返回通知(afterReturning)::在动态代理反射原有对象方法或者执行环绕通知后执行的通知功能
    • 异常通知( afterThrowing ):在动态代理反射原有对象方法或者执行环绕通知产生异常后执行的通知功能。
    • 环绕通知( aroundThrowing ):在动态代理中,它可以取代当前被拦截对象的方法,通过参数或反射调用被拦截对象的方法。
  3. 引入(Introduction):引入现有的类里添加的自定义的类和方法
  4. 切点(Pointcut):动态代理里,被切面拦截的方法就是一个切点,切面可以将切点和拦截的方法按照一定的逻辑植入到约定的流程当中
  5. 连接点(join point):连接点是一个判断条件,可以指定哪些是切点,spring会生成代理对象去使用对应的切面对其拦截,否则就不会拦截它
  6. 织入(Weaving):织入是一个生成代理对象的过程

在这里插入图片描述


Spring对AOP的支持

​ spring只是支持AOP编程的框架之一,是一种基于方法拦截的AOP,有四种方式实现AOP的拦截功能:

  1. 使用ProxyFactoryBean和对应的接口实现AOP
  2. 使用XML配置AOP
  3. 使用@AspectJ注解驱动切面
  4. 使用AspectJ注入切面

spectJ注解驱动切面
4. 使用AspectJ注入切面

注意:常用@AspectJ注解方法,XML为辅,其余少用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值