public class MsProxyBuilder {
/**
* 创建obj的代理对象
* @param obj 被代理对象
* @param interfaces 代理对象实现的接口数组
* @return 返回代理对象
*/
public static Object buildProxy(Object obj, Class... interfaces) {
if (obj == null || interfaces == null || interfaces.length == 0) {
return obj;
}
Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(obj.getClass());
enhancer.setInterfaces(interfaces);
MsMethodInterceptor methodInterceptor = new MsMethodInterceptor();
enhancer.setCallback(methodInterceptor);
methodInterceptor.setTarget(obj);
Object proxy = enhancer.create();
return proxy;
}
}
public interface Message_t {}
public interface IMessage {}
(IMessage) MsProxyBuilder.buildProxy(message, IMessage.class)
MsProxyBuilder类用于创建对象的代理,通过Enhancer增强器设置被代理对象的类和实现的接口。它使用MethodInterceptor来拦截并处理方法调用。给定一个对象和接口,MsProxyBuilder能构建一个实现了该接口的代理对象。
1618

被折叠的 条评论
为什么被折叠?



