摘要:
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 阅读全文
摘要:
------------------------------------------要进行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 阅读全文
摘要:
当我们用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 阅读全文
摘要:
首先给出设计模式静态代理与动态代理的学习: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 阅读全文