Nanning Aspects 是一个简单的可扩展的面向方面的 Java 框架。
示例代码:
Method method = Interface.class.getMethod("call", null); AspectInstance aspectInstance = new AspectInstance(); Mixin mixin = new Mixin(Interface.class, new Target()); mixin.addInterceptor(method, new MethodInterceptor() { public void invoke(Invocation invocation) { System.out.println("Hello world from an interceptor on " + invocation.getMethod()); Object result = invocation.invokeNext(); // passes call on to next interceptor or target return result: // result will be passed on to the caller as the return value of the call } }); aspectInstance.addMixin(mixin); Interface proxy = (Interface) aspectInstance.getProxy(); proxy.call();