我是 Annotations 的新手,也是 StackOverflow 的新手,这是我的第一个问题。我正在尝试编写自定义注释,这将帮助我跟踪和记录方法执行。
例如:
class A
{
@Logthis
void methodA();
}
每当执行方法 methodA()
时,我想记录到一个文件,告诉它“我们正在进入类 A 中的方法 A”,当方法 A 结束时“我们正在退出类中的方法 A” A”之类的东西。我们有许多类和方法。
我知道这可以使用 AspectJ 来完成。我是通过定义切入点和连接点来完成的。但我想使用自定义注释来做到这一点。
如果有人能指导我如何去做这件事,那将非常有帮助。
提前致谢。
最佳答案
使用 AspectJ,您可以执行以下操作:-
创建一个用@Aspect 注释的方面类
使用@Around 注释类中的方法,并定义要在您已注释的类上执行的值。您还需要启用 AspectJ 对您的类的代理。
@Aspect
public class LoggerAspect {
@Around(value = "execution(@you.custom.Annotation * *(..))")
public Object logMethod(ProceedingJoinPoint joinPoint) throws Throwable
{
// DO LOGGING HERE
}
}
关于java - 使用自定义注释创建我们自己的方面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13988659/