【无标题】spring讲解AOP

AOP(Aspect Oriented Programming)切面编程允许在不修改原有代码的情况下拓展功能,常用于日志、权限、事务等。其原理基于动态代理,如JDK和CGLIB。切入点表达式是AOP的核心,用于定位需要增强的方法,例如指定类、方法或包下的所有方法。表达式结构包括权限、返回值、类路径和方法名等信息。

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

AOP讲解

AOP切面编程一般可以帮助我们在不修改现有代码的情况下,对程序的功能进行拓展,往往用于实现 日志处理,权限控制,性能检测,事务控制等
AOP实现的原理就是动态代理,在有接口的情况下,使用JDK动态代理,在没有接口的情况下使用cglib动态代理

准备工作1
导入依赖

准备工作2
切入点表达式: 通过一个表达式来确定AOP要增强的是哪个或者那些方法
语法结构:execution([权限修饰符][返回值类型][类的全路径名][方法名](参数 列表) )
例子1
execution(* com.msb.dao.UserDaoImpl.add(…)) //指定切点为UserDaoImpl.add方法
execution(* com.msb.dao.UserDaoImpl.(…)) //指定切点为UserDaoImpl.所有的方法
execution(
com.msb.dao..(…)) //指定切点为dao包下所有的类中的所有的方法
execution(* com.msb.dao..add(…)) // 指定切点为dao包下所有的类中的add的方法
execution(
com.msb.dao..add(…)) // 指定切点为dao包下所有的类中的add开头的方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值