面向切面编程,把散落在程序中的公共部分提取出来,做成切面类,这样的好处在于,代码的可重用,一旦涉及到该功能的需求发生变化,只要修改该代码就行,否则,你要到处修改,如果只要修改1、2处那还可以接受,万一有1000处呢。
AOP底层的东西就是JDK动态代理和CGLIB代理,说白了就是增强类的功能。
最常用的AOP应用在数据库连接以及事务处理上。如spring的声明式事务。
原理:反射机制
常用模式:代理模式,工厂模式
AOP通知的类型有:前通知,后通知,环绕通知,异常通知。
触法点,也就是我们对应相应的业务写的方法,这些方法需要开启和关闭事务,我们把需要处理的方法叫做触法点。
代理有很多,据说是5中,但常用的只是jdk 的动态代理和CGLIB代理
jdk的代理分为静态代理和动态代理,静态代理用的很少,一般都是动态代理,
CGLIB代理是生成的目标类的子类,所以类和方法不能声明为final的,要不然就会有问题
jdk的代理是必须要实现接口的,而CGLIB不是,但必须要引入jar包,spring中默认使用jdk 的动态代理(实现接口了),除强制设置CGLIB的代理
常用两种代理模式:
JDK动态Proxy用于对接口的代理,是动态产生一个实现指定接口的类。被代理的类必须实现制定的接口。
CGLIB用于对类的代理,是动态产生一个继承被代理类的类。对于没有继承接口的类,通过继承运用其子类来实现。
分享到:
相关推荐
Spring_IOC_AOP总结,有代码详细讲解了springIOC和AOP的功能,是你学习三大框架的必备
NULL 博文链接:https://87029274.iteye.com/blog/1544528
NULL 博文链接:https://fangguanhong.iteye.com/blog/1918117
AOP技术总结 2
AOP技术总结 1
spring AOP 理论知识点总结.wpsspring AOP 理论知识点总结.wpsspring AOP 理论知识点总结.wps
一、AOP 概念 二、AOP 种类 三、Spring AOP 代理原理 四、Spring AOP 通知类型 五、Spring AOP Pointcut 六、Spring AOP 中的Advisor其实就是Aspect 七、AOP ProxyFactory 八、自动代理
AOP 面向方面编程 技术总结 AOP 面向方面编程 技术总结
一直对AOP面向切面编程的理解很模糊的同学可以看看。
主要对Spring AOP的相关概念和简单的静态代理、动态代理以及常见的几种AOP配置方式做总结学习。主要包括:1. AOP的常见概念 2. 静态代理 3. jdk动态代理 4. Aspectj and Aspectjweaver 5. **aop-config** 6. CGLIB ...
SpringBoot下的Spring——DAY04——动态代理总结、AOP、自定义注解进行拦截、动态获取注解参数、通知方法 1.动态代理总结 1.1 JDK动态代理特点 1.2 CGlib动态代理 1.2.1 CGLib特点说明 1.3 动态代理的作用 2 Spring...
自己总结的学Spring AOP的步骤,以及代码示例。可供刚学AOP的同学们参考。
spring中AOP个人总结 简介 aop(aspect oriented programming)面向切面编程是spring当中一个重要内容,在学习之后感觉这个思想挺不错的,做个总结 AOP讲解 一、面向切面编程 听说过面向对象编程(oop),但是...
AOP学习总结,一些关键词的说明,自己总结的,谢谢支持
通过对SRPING aop的使用和研究,总结出来的SPRING AOP使用原理,以及在使用spring aop过程中要注意的问题
Spring注解驱动开发第33讲——AOP原理总结
AOP相关原理整理总结
Spring AOP之基于AspectJ注解总结与案例 ,具体效果和过程看博文 http://blog.csdn.net/evankaka/article/details/45394409