标签:
一、AOP:
是对OOP编程方式的一种补充。翻译过来为“面向切面编程”。
二、几个概念
切面:是AOP中的一个术语,表示从业务逻辑中分离出来的横切逻辑,比如性能监控,日志记录,权限控制等。这些功能都可以从核心的业务逻辑中抽离出去。可以解决代码耦合问题,职责更加单一。
切点:通过一个条件来匹配要拦截的类,这个条件称为切点。如拦截所有带 Controller 注解的类。
三、SpringAOP
1.前置增强(BeforeAdvice):在目标方法前调用的方法称为前置增强
2.后置增强(AfterAdvice):在目标方法后调用的方法称为后置增强。
3.环绕增强(Around Advice):将 Before 和 After 合在一起。就像汉堡一样,中间夹一根火腿肠。
实现增强类:
前置:实现 MethodBeforeAdvice 接口
后置:实现 AfterReturningAdvice 接口
环绕:实现 org.aopalliance.intercept.MethodInterceptor 接口,使用 Object result = methodInvocation.proceed(); 调用目标方法。在目标方法前后添加增强。
具体使用:
public static void main(String[] args) { ProxyFactory proxyFactory = new ProxyFactory(); proxyFactory.setTarget(targetObj); proxyFactory.addAdvice(new MyAroundAdvice()); Factory proxy = (Factory) proxyFactory.getProxy(); proxy.produce(); }
未写完,待续。
标签:
原文地址:http://www.cnblogs.com/solverpeng/p/5628100.html