Spring AOP

本文介绍了AOP(面向切面编程)的概念,包括切面、切点、通知类型及其在Spring框架中的应用。AOP通过解耦、重用和集中管理,提升了代码的模块性和可维护性,允许在执行上下文中添加功能如日志和事务管理。
摘要由CSDN通过智能技术生成

AOP利用一种称为“横切”的技术,剖开对象内部,并将公共行为封装到可重用模块,从而减少重复代码,降低耦合。

AOP术语:切面:是指封装横切到系统功能的类,包含通知和切点                                                   切点:定义切面插入在哪些方法上,确定切面使用范围 

通知:定义了切点处所要执行的程序代码以及执行时机

连接点:是在应用执行过程中满足切点范围的具体的点

织入:是把切面插入到目标对象上

通过aop:config标签配置所有的切面

通过aop:pointcut标签配置切点,使用切点表达式来指定范围

通过aop:aspect定义切面,指定引用的通知以及通知的类型和切点

通知根据通知的时机区分有五种类型:

前置通知,使用aop:before标签,在方法之前执行,可以通过JoinPoint参数获取连接点信息,

后置通知,使用aop:after标签,在方法之后执行,无论方法内部是否抛出异常,可以通过JoinPoint参数获取连接点信息,

后置返回通知,使用aop:after-returning标签,在方法之后执行并且方法内部不能抛出异常,可以通过JoinPoint参数获取连接点信息,

后置异常通知,使用aop:after-throwing标签,在方法内部抛出异常时执行,可以通过JoinPoint参数获取连接点信息,

环绕通知,使用aop:around标签,在方法之前和之后都执行,通过ProceedingJoinPoint参数来获取连接点信息

学习Spring AOP优点。

  1. 解耦合:AOP可以将横切关注点(如日志记等)与核心业务逻辑分离,从而提高了代码的模块化和可维护性。2.重用性:通过AOP,可以编写通用的横切关注点,并在多个模块或组件中重用它们,从而减少了重复代码的编写,提高了代码的重用性。3.集中式管理:AOP可以跨越多个组件的横切关注点进行集中式管理。4.增强功能:AOP可以通过在特定的连接点上注入额外的行为,例如日志记录、事务管理等,从而增强了程序的功能性。5.提高可维护性:通过AOP,可以将与核心业务逻辑无关的横切关注点从业务逻辑中分离出来,使得代码更易于理解和维护。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值