码迷,mamicode.com
首页 > 编程语言 > 详细

JavaEE杂项- spring AOP的实现方式

时间:2017-03-01 16:01:35      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:spring   gets   line   传统   print   java反射机制   功能   oca   process   

1. 传统的代理模式。
  1. package springAOP;
  2. public class SubjectProxy implements IsubJect {
  3. private ISubject subject;
  4. public String Request(){
  5. //add pre-process logicif neccesary
  6. subject.request();
  7. //add post process if neccesary
  8. }
  9. public ISubject getSubject(){
  10. return subject;
  11. }
  12. public void setSubject(ISubject subject){
  13. this.subject=subject;
  14. }
  15. }

这种方法缺点是要为每一个被带离对象创建单独的代理类。 在需要代理的功能很多时是一个灾难。

2. 通过java反射机制的动态代理
主要是由java.lang.reflect.Proxy和java.lang.reflect.InvocationHandler接口实现。 具体可以参考其他例子。 
该接口必须实现的invoke函数就可以看成是AOP种的Advice

3.通过CGLIB动态生成字节码。 即利用CGLIB生成要被代理的类的子类然后覆写相应方法并插入处理逻辑




JavaEE杂项- spring AOP的实现方式

标签:spring   gets   line   传统   print   java反射机制   功能   oca   process   

原文地址:http://www.cnblogs.com/yTPety/p/6484412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!