djcproxy是一个小型的Java库,实现动态Java类代理。使用它可以在运行时对已存在的对象创建代理对象,用来创建面向方面特性。例如度量某个方法的执行时间,修改方法行为,记录方法执行等等。
完整示例代码:
protected static class A { public A() { } public it method() { retur 1; }}private class Iterceptor implemets MethodIterceptor { @Override public Object itercept(Object obj, Method method, Object[] args) throws Exceptio { if (method.getName().equals("toStrig")) { retur "iterceptedToStrig"; } retur 0; }}@Testpublic void give_Object_whe_CreatigSource_the_GettigIterceptorResult() throws Exceptio { A a = ew A(); ProxyFactory<A> factory = ew ProxyFactory<>(); A s = factory.create(a, ew Iterceptor()); Assert.assertEquals("iterceptedToStrig", s.toStrig()); Assert.assertEquals(0, s.method());}






评论