Java静态类中“装饰”方法的选项,不使用AOJ或类似方法

时间:2018-05-09 14:18:18

标签: java reflection proxy annotations invocationhandler

我有一个静态类,它有许多不同名称但方法相同的方法,例如:

protected static MyResponse [validationMethodName] (MyObject target, MyStatus failStatus) throws Exception {...}

我希望这些特殊的方法在输入时执行一些代码,例如

target.checkCache(validationMethodName);
target.doOtherStuff();

无需在每种方法中复制此代码。

我正在研究以下技术,并且想知道哪些可能/最好,或者是否有更好的方法:

  • 使用代理来包含静态类并添加所需的代码 通过InvocationHandler
  • 使用特殊的invoke()
  • 扩展java.lang.reflect.method类
  • 只需使用一些初始的methodInit(args)调用
  • 复制每个方法中的代码

我愿意通过Java10使用核心中的任何东西

0 个答案:

没有答案