Spring AOP编程

AOP(面向切面编程)是一种编程范式,旨在减少代码的耦合度,提高重用性和开发效率。通过切面类,将关注点(如日志、事务、权限控制)与业务逻辑分离。切入点表达式定义了拦截的范围,通知类型(前置、后置、返回后、异常后、环绕)则规定了何时插入切面代码。AOP在Spring框架中广泛应用,实现方式通常基于代理模式。
摘要由CSDN通过智能技术生成

什么是AOP编程

AOP: Aspect Oriented Programming 面向切面编程。

利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

关注点:重复代码就叫做关注点;

切面:关注点形成的类,就叫切面(类)!面向切面编程,就是指 对很多功能都有的重复的代码抽取,再在运行的时候网业务方法上动态植入“切面类代码”。

切入点:执行目标对象方法,动态植入切面代码。可以通过切入点表达式,指定拦截哪些类的哪些方法; 给指定的类在运行的时候植入切面类代码。

AOP功能: 让关注点代码与业务代码分离!

AOP底层实现原理

使用代理设计模式:通过代理控制对象的访问,可以详细访问某个对象的方法,在这个方法调用处理,或调用后处理。

代理模式应用场景

SpringAOP、事物原理、日志打印、权限控制、远程调用、安全代理 可以隐蔽真实角色

@Aspect							指定一个类为切面类		
@Pointcut("execution(* com.itmayiedu.service.UserService.add(..))")  指定切入点表达式
@Before("pointCut_()")				前置通知: 目标方法之前执行
@After("pointCut_()")				后置通知:目标方法之后执行(始终执行)
@AfterReturning("pointCut_()")		 返回后通知: 执行方法结束前执行(异常不执行)
@AfterThrowing("pointCut_()")			异常通知:  出现异常时候执行
@Around("pointCut_()")				环绕通知: 环绕目标方法执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值