AOP概念及实践案例(上)

AOP概念

AOP是一种设计思想,是软件设计领域中的面向切面编程,他是面向对象编程(AOP)的一种补充和完善。通过预编译方式和运行期动态代理方式,实现在不修改源代码的情况下给程序动态统一添加额外功能的一种技术。

AOP应用原理

Spring AOP底层基于代理机制实现功能扩展:
1.假如目标对象(被代理对象)实现接口,则底层可以采用JDK动态代理机制为目标创建代理对象(目标类和代理类会实现共同接口)。
2.假如目标对象(被代理对象)没有实现接口,则底层采用CGLIB代理机制为目标对象创建代理对象(默认创建的代理类会继承目标对象类型)。
注:Spring boot2.x中AOP现在默认使用的CGLIB代理,假如需要使用JDK动态代理,需要在配置文件中进行配置:spring.aop.proxy-target-class=false

AOP相关术语分析

1.切面(aspect):横切面对象,一般为一个具体类对象(可以借助@Aspect声明)
2.通知(Advice):在切面的某个特定连接点上执行的动作(拓展功能),例如around,before,after等。
3.拦截点(joinpoint):程序执行过程中某个特定的点,一般指被拦截到的方法。
4.切入点(pointcut):对多个连接点(Joinpoint)一种定义,一般可以理解为多个连接点的集合。

AOP实践案例

项目创建及配置

创建maven项目或在已有项目基础上添加AOP依赖:

<dependency>
       <groupId>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值