AOP实现

1. 基于动态代理, 前提是增强的类要基于接口.

我们可以实现before/after/around/return/throwing advice, JNA, resin hession, 前期实现的JBOSS拦截器(甚至RMI实现), 都用到了动态代理, JDK1.3之后引入.

 

2. 字节码生成, 以CGLIB(objectweb)为例

before/after/around/return/throwing advice都可实现.

BTW, CGLIB其实是基于objectweb实现的, 会读取特定.class, 可能是通过继承方式修改生成新的Class, 使用ClassLoader动态生成代理类.

 

Spring前期版本估计就是使用这两种方式, 2.0支持ASPECTJ POINTCUT解析语法(可能未必是ASPECTJ预编译/特定ClassLoader实现)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值