spring的AOP
来源:互联网 发布:js修改a标签的href 编辑:程序博客网 时间:2024/06/05 16:34
Aop
面向切面编程 aspect oriented programing
aop关注的不再是程序代码中的某个类,某些方法,考虑更多的是一种面到面的切入,即层与层之间的一种切入。
用处:
aop主要用于日志记录,性能统计,安全控制,事务处理等方面,实现公共功能性的重复使用。
好处:
1. 降低模块与模块之间的耦合度,提高业务代码的聚合度。
2. 提高代码的复用性。
3. 提高系统的扩展性。
基本概念
连接点 Joinpoint
被拦截到的每个点,spring中指被拦截到的每一个方法,spring aop 一个连接点即代表一个方法的执行。
切入点 Pointcut
对连接点进行拦截的定义。即匹配规则的定义,规定拦截哪些方法,对哪些方法进行处理。
通知 advice
拦截到每一个连接点后要做的操作。
前置通知 before:执行连接点方法前通知
返回通知 afterturn:连接点方法正常结束后返回的通知
异常通知 afterThrow:连接点方法出异常时通知
最终通知 after :连接点方法结束时通知
环绕通知 around:包围连接点方法的通知
切面 Aspect
切面则是横切关注点的抽象。
目标对象 Target
被代理的目标对象
织入 Weave
将切面应用到目标对象,并生成代理对象的这个过程即为织入
引入 Introduction
在不修改原有应用程序代码的情况下,在程序运行期为类动态添加方法或者属性的过程为引入。
AOP处理日志问题
1. 命名空间 2 配置aop代理 <aop:aspectj-autoproxy/>
代理模式实现三要素
1.接口定义 2.目标对象和代理对象实现统一的接口 3. 代理对象持有目标对象的引用,增强目标对象行为
代理模式实现分类以及对应区别
静态代理:手动为目标对象制作代理对象,即在程序编译阶段完成代理对象的创建
动态代理:在程序运行期动态创建目标对象对应的代理对象
jdk动态代理:被代理目标对象必须实现摸一个或某一组接口,通过回调创建代理对象。
cglib动态代理:被代理目标可以不必实现接口,通过继承实现。
动态代理好处:提高开发效率,可以批量化创建代理,提高代码复用率。
- AOP、Spring的AOP
- spring(AOP)Aop的概念
- spring的的AOP
- Spring的AOP实现
- spring的AOP介绍
- Spring的aop
- 6.2 Spring的AOP
- Spring 的AOP运用
- spring aop的理解
- spring aop的讲解
- spring的aop原理
- spring的aop
- spring的AOP配置
- Spring AOP的应用
- Spring的AOP
- Spring的AOP配置
- Spring的aop
- Spring Aop的应用
- [转载]一种你不知道的解决窗体闪烁的方法
- Python开发飞机大战(2)
- centos解决bash: service: command not found 错误
- 封装echarts
- 洛谷 [P2024] 食物链
- spring的AOP
- 初识Hadoop
- 【区块链之技术进阶】让这篇技术贴告诉你区块链是怎么运行的
- pytorch 初学笔记
- SpringMVC安装以及编辑环境的配置
- Spring 5 的 WebFlux 开发反应式 Web 应用
- Qt样式表的使用总结
- 40分钟视频帮你搞懂struts2的原理(值栈,拦截器)
- Oracle反转倒置函数