在Spring AOP中获取类级别注释值

问题描述 投票:0回答:1

我有一个注释,它是一个类级别的注释

 @Dummy(value = 123)

[我如何创建一个方面,该被注释的类的任何方法执行都会被调用before。我只想打印方面建议中的注释值。

spring spring-boot spring-aop
1个回答
2
投票

以下方面将达到相同效果

@Component
@Aspect
public class DummyAspect {
    @Before(value = "@target(dummy) && within(com.your.package..*)")
    public void before(JoinPoint jp, Dummy dummy) {
        System.out.println(dummy.value());
    }
}

within()-是范围界定符,用于缩小要建议的类的范围。没有此指定符,运行可能会产生不良结果,因为它也可能会针对框架类。

请仔细阅读@kriegaex的this answer以详细了解指示符。

参考:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#aop-pointcuts-designators

© www.soinside.com 2019 - 2024. All rights reserved.