gpt4 book ai didi

jakarta-ee - 创建忽略注解value()的拦截器限定符

转载 作者:行者123 更新时间:2023-12-04 13:40:47 24 4
gpt4 key购买 nike

有没有办法创建一个忽略限定符的注释字符串值的拦截器限定符注释?

例如:

Log.java

@Inherited
@InterceptorBinding
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Log {
String value() default ""; // <---- ignore this
}

LogInterceptor.java
@Log
@Interceptor
public class LogInterceptor implements Serializable {

...
}

Usage.java
@Log("message for this log")
public String interceptedMethod(String param) {
...
}

这不起作用,因为注释 value("message for this log")用作限定符,但我想使用 value()而不是限定符,而是消息日志。

最佳答案

为此,可以使用@Nonbinding批注。您可以通过注释成员@Nonbinding来强制容器忽略限定符类型的成员。看下面的例子:

@Qualifier
@Retention(RUNTIME)
@Target({METHOD, FIELD, PARAMETER, TYPE})
public @interface PayBy {
PaymentMethod value();
@Nonbinding String comment() default "";
}

通过@PayBy限定符匹配bean时,此处的注释将被忽略。
可以在 here中找到对CDI文档进行描述的引用。

关于jakarta-ee - 创建忽略注解value()的拦截器限定符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16047076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com