AOP介绍

一. AOP的概念


1.  Aspect Oriented Programing,
即面向方面(切面)编程。
2. AOP是一种编程思想,是对OOP的补充,
可以进一步提高编程的效率
 

二. AOP的实现

1. AspectJ

语言级的实现

定义了AOP语法

编译时织入代码,有一个专门的编译器,用来生成遵守Java字节码规范的class文件

2. Spring AOP

java实现

运行时通过代理方式织入代码

只支持方法类型的连接点

spring支持AspectJ的集成

三. 代码织入时间

1. 编译时织入,需使用特殊的编译器。
2. 装载时织入,需使用特殊的类装载器。
3. 运行时织入,需为目标生成代理对象。

四. Spring AOP

Spring AOP_价值成长的博客-CSDN博客

1. JDK动态代理:用接口代理
Java提供的动态代理技术,可以在运行时创建接口的代理实例。
Spring AOP默认采用此种方式,在接口的代理实例中织入代码。目标组件必须有接口。
2. CGLib动态代理:用子类代理
采用底层的字节码技术,在运行时创建子类代理实例。
当目标对象不存在接口时,Spring AOP会采用此种方式,在子类实例中织入代码。
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值