使用注释计算方法的经过时间

时间:2015-08-11 08:09:48

标签: java annotations

我要说下面有代码。

  public void someMethod(){
        long startTime = System.currentTimeMillis();
        //do something
        long durationTime = System.currentTimeMillis() - startTime;
        saveDurationTimeToLogger(durationTime);
  }

它有效,但太长了。所以我开始考虑使用注释。它应该看起来像这样(函数与上面的代码相同)。

 @TimeWatch
 public void someMethod(){
      //do something
 }

我想知道如何做到这一点,因为我想在项目中使用它作为任意方法(有许多主要方法),但我没有弄明白。你有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您需要使用Aspect Oriented Programming工具来解决此问题,而无需自行编写大量代码。 Spring AOP是最受欢迎的(此处为good introduction and example),或者如果您不使用Spring,请考虑AspectJ

答案 1 :(得分:0)

如果你想在某些代码之前和之后做一些事情,我认为你需要两个注释。

你可以像这样做自己的注释: Java annotation to execute some code before and after method