您的位置:首页 > 运维架构

AOP和动态代理

2015-07-04 11:35 302 查看
JDK动态代理

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

import com.wadata.hdc.dxs.service.TransportService;

/**
* 动态代理处理器
* @author yong.zhang
*
*/
public class HessianTransportHandler implements InvocationHandler {

private Object target;

public HessianTransportHandler(Object target){
this.target = target;
}

@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
System.out.println("前=====");
Object result=method.invoke(target, args);
System.out.println("后=====");
return result;
}

//创建代理
public static Object createProxy(Object target){
return Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(),
new HessianTransportHandler(target));
}

public static void main(String[] args) {
TransportService createProxy = (TransportService) HessianTransportHandler.createProxy(new HessianTransportService());
createProxy.transport(null);
}

}

使用SPRING通知模块化横切点
http://lrf8933.blog.163.com/blog/static/68973963201102542010524/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: