SpringAOP
2020-05-12 16:29
74 查看
-
Spring-AOP 的定义(目标类 + 额外功能 = 代理类)
AOP是属于Spring框架的一个功能,Spring通过AOP来实现对对象的代理增强,从而在不影响原功能的基础上实现额外功能的添加。相当于做一个蛋糕,可放其他味道的奶油来让蛋糕更美味,但并不会影响蛋糕原味道 -
什么是目标类,额外功能,代理类?
目标类:进行切入的对象
额外功能:在不改变源代码的方法时,添加新的业务逻辑
代理类:目标类进行编织后产生的对象 -
面向切面编程的定义
面向切面编程是面向对象中的一种方式。在代码执行过程中,动态嵌入其他代码,叫做面向切面编程。 -
Spring-AOP 的四种增强方式
-
前置增强,在核心功能之前执行的额外功能
-
后置增强,在核心功能之后执行的额外功能
-
异常增强,在核心功能发生异常时执行的额外功能
-
环绕增强,在核心功能之前以及之后执行的额外功能
用于:日志处理/事务处理/异常处理/性能分析等 -
代理的专业术语
额外功能:增强
目标类:切入点或切面
将增强加入到切入点:编织
AOP是面向切面编程的一种实现
Spring-AOP的实现:
- 导入相关jar包
- 书写一个增强类:
- 配置bean标签:
- 配置AOP的编织功能(写接口的包路径)
1: 通配接口或者普通方法
2: 包名
3: 类名
4: 方法名
5: 参数名
四种增强方式:
- 前置增强(在核心功能之前执行的额外功能)
- 后置增强(在核心功能之后执行的额外功能)
- 异常增强(在核心功能发生异常时执行的额外功能)
- 环绕增强(前三种功能的综合)
AOP注解:
特点:可以灵活的定义某个具体的方法实现增强功能
实现:
- 写一个软接口,创建或自定义一个注解
- 增强类照常写
- 修改切入点
相关文章推荐
- 使用jdk和cglib实现spring的aop功能
- Spring Aop 简单例子
- 【第六章】 AOP 之 6.4 基于@AspectJ的AOP ——跟我学spring3
- spring AOP四种实现方式
- Spring, 基于自动代理实现aop
- Spring AOP 知识整理
- spring2的AOP框架-AOP实战
- Spring AOP 代理
- Spring学习(2)一个简单的AOP实例
- springaop
- Spring中AOP的两种代理方式
- Spring2.5 基于AspectJ风格的AOP问题
- Spring的aop操作
- (14)Spring AOP Advisor
- Spring Aop重要概念介绍及应用实例结合分析
- Spring实现AOP的4种方式
- Spring Boot 2.x(十一):AOP实战--打印接口日志
- Spring AOP 写日志,取request、session、application
- spring---aop(2)---Spring AOP的JDK动态代理
- Spring Aop的应用