import java.lang.reflect.Method;
import java.util.Arrays;
import org.springframework.aop.MethodBeforeAdvice;
public class MyMethodBeforeAdvice implements MethodBeforeAdvice{
/**
* 前置通知(验证)
* @param method
* @param arg1
* @param target
* @throws Throwable
*/
public void before(Method method, Object[] arg1, Object target) throws Throwable {
String clzName = target.getClass().getName();
String MethodName = method.getName();
String params = Arrays.toString(arg1);
System.out.println(“买书评论前加系统日志:”+clzName+“.”+MethodName+“(”+params+“)”);
}
}
target:目标对象
method:被触发的目标对象的方法
arg1:目标对象的目标方法携带的参数
4,配置
在spring-context.xml中,配置目标
获取bookBiz,运行输出
IBookBiz iBookBiz = (IBookBiz) applicationContext.getBean(“bookBiz”);
运行只是输出,但是没有验证
因此我们需要调用MyMethodBeforeAdvice里面的方法
首先我们要在spring-context.xml中,配置前置通知
再配置 ,生成代理对象 (目标+通知)
<bean class=“org.springframework.aop.framework.ProxyFactoryBean”
id=“p