DPIGGo 动态代理库
DPIG 是一个实验性质的 Go 语言动态代理库,它不依赖代码生成技术,可以对接口的实例进行动态增强,使用方法也很简单。
var u UserStore = user.New()
// 此处进行增强
dpig.Component(&u)
var postCall = func(in, out []reflect.Value) {
log.Println("Get User:", in[0].Interface(),out[0].Interface{})
}
// 修改方法运行行为
dpig.Change(dpig.MethodSelector{Object:"UserStore",Method:"GetUser"}, dpig.Extend{Post: []dpig.PostCall{postCall}})
u.GetUser(uid) // 此时会执行 postCall 函数
它支持对方法进行三种增强:前置、后置、环绕。
评论
CGLibJava 动态代理
CGLib(CodeGenerationLibrary)是一个强大的、高性能、高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。Hibernate用它来实现PO字节码的动态生成
CGLibJava 动态代理
0
Dynamic-proxy动态代理框架
Dynamic-proxy 是一个Java开发人员在生成代理对象时非常有用的库。该库利用了多种字节码生成方法,包括:ASMCGLIBJavassistJDKDynamicProxyByteBuddyM
Dynamic-proxy动态代理框架
0