spring知识点3
来源:互联网 发布:男士防晒霜 知乎 编辑:程序博客网 时间:2024/06/10 03:21
一、AOP(Aspect-oriented programming,面向切面编程):
什么是AOP?
定义:将程序中的交叉业务逻辑提取出来,称之为切面。将这些切面动态织入到目标对象,然后生成一个代理对象的过程。
二、AOP核心概念
1、Aspect(切面)
切面,是对交叉业务逻辑的统称。
2、Joinpoint(连接点)
连接点,指切面可以织入到目标对象的位置(方法,属性等)。
3、Advice(通知)
通知,指切面的具体实现。
4、Pointcut(切入点)
切入点,指通知应用到哪些类的哪些方法或属性之上的规则。
5、Introduction(引入)
引入,指动态地给一个对象增加方法或属性的一种特殊的通知。
6、Weaving(织入)
织入,指将通知插入到目标对象。
7、Target(目标对象)
目标对象,指需要织入切面的对象。
8、Proxy(代理对象)
代理对象,指切面织入目标对象之后形成的对象。
三、Spring AOP原理
采用动态代理模式。
Spring AOP采用动态代理的过程:
(1) 将切面使用动态代理的方式动态织入到目标对象(被代理类),形成一个代理对象;
(2) 目标对象如果没有实现代理接口,那么Spring会采用CGLib来生成代理对象,该代理对象是目标对象的子类;
(3) 目标对象如果是final类,并且也没实现代理接口,就不能运用AOP。
四、Spring的通知
1、Spring的通知类型
(1) MethodBeforeAdvice
类全名:org.springframework.aop.MethodBeforeAdvice
在方法调用之前,做处理。
不能够改变返回值
不能够改变目标方法的流程,也不能中断流程的处理过程(除非抛出异常)
(2) AfterReturningAdvice
类全名:org.springframework.aop.AfterReturningAdvice
在方法调用之后,做处理。
不能够改变返回值
不能够改变目标方法的流程,也不能中断流程的处理过程(除非抛出异常)
(3) MethodInterceptor
类全名:org.aopalliance.intercept.MethodInterceptor
在方法调用之前以及之后,做处理。
可以改变返回值,也可以改变流程。
(4) ThrowsAdvice
类全名:org.springframework.aop.ThrowsAdvice
在方法抛出异常后,做处理。
当该通知处理完异常后,会简单地将异常再次抛出给目标调用方法。
- spring知识点3
- spring知识点3
- spring知识点
- Spring--知识点
- Spring 知识点
- spring知识点
- spring知识点
- Spring知识点
- spring知识点
- spring知识点
- spring 知识点
- Spring知识点
- spring知识点
- spring知识点
- spring知识点
- 【Spring】Spring+Struts2+Hibernate3知识点
- Spring框架知识点
- Spring 2.5 注解 知识点
- Android实践-自定义dialog从屏幕底部弹出并且充满屏幕宽度
- linux 中C++类的继承
- Kattis yatp(斜率优化+树分治)
- 窝窝网项目总结(后台管理)
- 平面分割,空间分割问题【递推关系】(hdu1249、hdu1290、hdu2050)
- spring知识点3
- 满m叉树的性质
- 【例题】【并查集】NKOJ2107 可爱的猴子
- 【HDU】5905 Black White Tree【树dp,枚举子树,对于一个a,其对应的可行b一定是一个连续区间】
- spring知识点4
- C 语言中定义和声明的区别
- frog jump
- SMP Kepsel SDK访问OData服务的几种途径
- AsyncTask的设计原由