gpt4 book ai didi

Java EE : Bind some interceptor annotations to a single one

转载 作者:行者123 更新时间:2023-11-29 09:20:23 25 4
gpt4 key购买 nike

首先:我想使用 Java EE 而不是 Spring!我有一些自定义注释充当拦截器绑定(bind)。我在这样的方法上使用注释:

@Logged
@Secured
@RequestParsed
@ResultHandled
public void doSomething() {
// ...
}

对于某些方法,我想使用这些注释中的一个,但我想像这样使用大多数方法:

@FunctionMethod
public void doSomething() {
// ...
}

我可以将这些注释集捆绑成一个吗?我不能在单个拦截器中编写代码,因为对于某些方法我也想单独使用它们。

我知道可以使用@Stereotype 定义,但据我所知,它用于定义整个类而不是单个方法。

最佳答案

在一些知名搜索引擎的帮助下,我在 JBoss Weld 的文档中找到了解决方案(第 9.6 章拦截器绑定(bind)与继承)

我可以使用从其他拦截器绑定(bind)继承的拦截器绑定(bind)接口(interface)。它看起来像这样:

@InterceptorBinding
@Target({ ElementType.METHOD, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Logged
@Secured
@RequestParsed
@ResultHandled
public @interface FunctionMethod {
// clean and empty
}

现在我可以在 bean 方法上使用新的拦截器绑定(bind),所有的拦截器都将被调用:

@FunctionMethod
public void doSomething() {
// ...
}

关于Java EE : Bind some interceptor annotations to a single one,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6875109/

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