SpringAOP--面向切面编程--理解

一:什么是AOP

     AOP : Aspect Oriented Programming  面向切面编程。技术支撑为动态代理,它为解耦而生。

二:AOP实现原理

      AOP分为静态AOP和动态AOP。

      静态AOP是指AspectJ实现的AOP,他是将切面代码直接编译到Java类文件中。

      动态AOP是指将切面代码进行动态织入实现的AOP。

      Spring的AOP为动态AOP,实现的技术为: JDK提供的动态代理技术 和 CGLIB(动态字节码增强技术) 。但都是基于代理模式 , 都是生成一个代理对象 。

三:AOP术语解释及执行流程

四:AOP与OOP的区别

       AOP、OOP在字面上虽然非常类似,但却是面向不同领域的两种设计思想。OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。

       而AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。这两种设计思想在目标上有着本质的差异

五:AOP总结

      在不影响主业务代码纵向执行的情况下,横向切入需要加入的其他内容(如权限模块,事物模块,日志模块等),但并不影响主业务代码的纯洁性。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值