AOP和動態代理

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/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章