摘要: 1: 首先我们要定义 配置成切面的类package cn.gbx.example;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.After;import org.aspectj.lang.annotation.AfterReturning;import org.aspectj.lang.annotation.AfterThrowing;import org.aspectj.lang.annotation.Around;import org.aspectj.lang.annotatio 阅读全文
posted @ 2014-02-22 16:21 E_star 阅读(328) 评论(0) 推荐(0) 编辑
摘要: ------------------------------------------要进行AOP编程,首先我们要在spring的配置文件中引入aop命名空间:Spring提供了两种切面声明方式,实际工作中我们可以选用其中一种:基于XML配置方式声明切面。基于注解方式声明切面自定的切面:(注意我们的切面一定要交给Spring管理才行,也即在XML文件里配置)package cn.gbx.example;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.After;import org.as 阅读全文
posted @ 2014-02-22 15:54 E_star 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 当我们用Proxy 实现Spring的AOP的时候, 我们的代理类必须实现了委托类的接口才能实现。 而如果代理类没有实现委托类的接口怎么办? 那么我们就可以通过CGLib来实现package cn.gbx.aop; import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy; import cn.gbx.service.impl.PersonService; public class ProxyFactory implements Invoca 阅读全文
posted @ 2014-02-22 13:09 E_star 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 首先给出设计模式静态代理与动态代理的学习:http://layznet.iteye.com/blog/1182924 讲的不错然后我们实现AOP 就要求我们对委托的所有方法的调用实现拦截代理类生成的工厂package cn.gbx.aop;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import cn.gbx.service.impl.PersonService;public class ProxyFactory impleme 阅读全文
posted @ 2014-02-22 09:54 E_star 阅读(361) 评论(0) 推荐(0) 编辑