这里介绍两种方式实现
1.jdk动态代理(我这里只介绍环绕通知的写法,其他几种通知的写法大同小异)
1>首先建一个类叫JDKDynamicProxy,当然我写的是一个内部类实现动态代理,也可以实现InvocationHandler
public class JDKDynamicProxy {
public Object getProxyObject(final Object targetObject,final Object aspectObject){
Object proxyObj=Proxy.newProxyInstance(targetObject.getClass().getClassLoader(),
targetObject.getClass().getInterfaces(),
new InvocationHandler() {
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
ProceedingJoinPoint pjp=new ProceedingJoinPoint();
pjp.setTargetObject(targetObject);
pjp.setSignation(method);
pjp.setArgs(args);
Method[] methods = aspectObject.getClass().getDeclaredMethods();
Object result=null;
for (Method aspectMethod : methods) {
if("around".equals(aspectMethod.getName())){
result=aspe