java - 使用自定义注释创建我们自己的方面

标签 java annotations aspects

我是 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/

相关文章:

Java软件: disable after a specific date

java - 错误 @annotation 切入点表达式仅在 Java 5 合规性级别或更高级别受支持

spring - Spring 中的拦截器与方面?

java - 在哪里可以找到 JSR-275 替代品?

java - mongodb根据父文档的搜索结果选择子文档

java - HTML 5 文件上传使用 java servlet 访问被拒绝异常

python - 为什么 mypy 拒绝我的 "mixed union"类型声明?

java - 带有自定义注释的抽象类

java - 默认注释处理器发现过程是什么?

java - 如何在 Spring 中使用注解应用方面?