Java注解否定逻辑

标签 java

是否可以创建具有反向/反向/否定逻辑的 Java 注释。

例如,我在 Javax 中创建了一个过滤器:

@Provider
@AuthBinding
public class AuthServerFilter implements ContainerRequestFilter {   

@Override   
public void filter(ContainerRequestContext requestContext) throws IOException {...}

并创建了 AuthBinding 注释:

@NameBinding
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
public @interface AuthBinding {

}

因此,只有其余带注释 @AuthBinding 的资源才会触发上述过滤器。

是否可以创建注释,以便将上述过滤器应用于除具有注释的资源之外的所有其余资源。

最佳答案

此类框架通过显式标记“事物”来工作。框架扫描类、对象、方法中的注释,然后运行相应的代码。

不存在“如果未给出注释 X,则根据 X 执行此或操作”的概念。

这不仅仅是技术。这是一个糟糕的设计理念!特别是在这样的 REST 资源上下文中,您的读者希望通过查看资源来了解他们需要了解的所有信息。

好吧,存在一种选择:您当然可以配置自己的过滤器或拦截器。这些可以在执行此操作之前检查所选资源是否具有特定注释。

关于Java注解否定逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52473043/

相关文章:

Java隐藏JFrame1和JFrame2,当JFrame0停用时?

java - 在默认版本之外运行另一个 JRE

java - session 处理问题(更新数据库行)- session 与浏览器一起关闭

java - AVL 树实现 - 不存储高度

java - Eclipse 中是否已经安装了 WindowBuilder Pro?

java - SSLHandshakeException 导致连接 JMX 时出错

java - java小程序中的JComboBox和JTable

java.lang.ClassCastException : org. hibernate.ejb.HibernatePersistence 无法转换为 WebLogic 中的 javax.persistence.spi.PersistenceProvider

java - 如何使用 java 在 liquibase 中区分两个新模式?

java - Clojure:交叉引用变量、声明和编译错误