在Java中创建自定义注释,并在调用方法时使用它

时间:2017-04-05 19:29:04

标签: java annotations

我想要做的是创建一个自定义注释以在服务上使用它,并且每次从那里调用方法时首先执行一些操作。例如:

@CustomAnnotation
public Class MyService{

   public void myMethod(){
      //do something
   }
}

当调用myMethod时,在执行代码之前先执行某些操作,然后执行它必须执行的操作。 有没有办法做到这一点?我需要使用注释来做,使用接口或继承是没用的,因为每个方法都有用,而不仅仅是一个。

我知道如何扫描包以获取注释类,但我不知道如何在应用程序运行时在运行时检查它。

谢谢!

1 个答案:

答案 0 :(得分:0)

似乎您可以通过使用AOP(面向方面​​编程)来实现您所需要的。

我发布了代码示例here。它在带注释的方法之前执行一些代码,而不为其他方法执行。

AOP允许您在不干预包含方法的类的代码的情况下执行此操作,您可以在不更改方法本身及其调用代码的情况下更改方法行为。您甚至可以使用此技术跳过方法执行(使用@Around建议)。例如,在允许方法执行之前需要进行安全检查时,它非常有用。