首页 > 代码库 > JavaEE杂项- spring AOP的实现方式
JavaEE杂项- spring AOP的实现方式
1. 传统的代理模式。
package springAOP;
public class SubjectProxy implements IsubJect {
private ISubject subject;
public String Request(){
//add pre-process logicif neccesary
subject.request();
//add post process if neccesary
}
public ISubject getSubject(){
return subject;
}
public void setSubject(ISubject subject){
this.subject=subject;
}
}
这种方法缺点是要为每一个被带离对象创建单独的代理类。 在需要代理的功能很多时是一个灾难。
2. 通过java反射机制的动态代理
主要是由java.lang.reflect.Proxy和java.lang.reflect.InvocationHandler接口实现。 具体可以参考其他例子。
该接口必须实现的invoke函数就可以看成是AOP种的Advice
3.通过CGLIB动态生成字节码。 即利用CGLIB生成要被代理的类的子类然后覆写相应方法并插入处理逻辑
null
JavaEE杂项- spring AOP的实现方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。