===================
方法拦截器_前置增强
===================
1 方法拦截器
方法前置增强器(MethodBeforeAdvice)的增强操作只能在原始方法之前执行,功能较单一。
方法拦截器(MethodInterceptor)的增强操作可以在原始方法之前、之后或之前后执行。
public class 方法拦截器 implements MethodInterceptor {
原始方法及参数
@Override |
public Object invoke(MethodInvocation methodInvocation) throws Throwable {
在原始方法之前执行
Object object = methodInvocation.proceed(); // 调用原始方法,接收其返回值
在原始方法之后执行 // 无返回值,即返回空值(null)
return object; // 返回原始方法的返回值
}
}
2 前置增强
/src/main/java/cn/tedu/proxy/Arround.java:
public class Arround implements MethodInterceptor {
private Logger logger = Logger.getLogger(Before.class);
@Override
public Object invoke(MethodInvocation methodInvocation) throws Throwable {
logger.debug(">>>> BEFORE INVOKE >>>>");
Object object = methodInvocation.proceed();
return object;
}
}
/src/main/resources/applicationContext.xml:
>>>> BEFORE INVOKE >>>>
UserServiceImpl.register
例程:Proxy