Java注释逻辑

Java注释逻辑,java,annotations,Java,Annotations,我知道这个主题可能已经在这里讨论过,关于制作具有逻辑功能的java注释,并根据条件执行特定操作 其中一个著名的例子当然是junit和hibernate 我还看到了一些注释,当您在web服务控制器的api上放置这些注释时,它会检查头部的身份验证令牌,如果用户未经授权,它将返回unauthorized,甚至不会进入此api 此外,我还看到了一个android库,该库使用注释执行大多数常规应用程序逻辑: 现在,我在互联网上看到的关于这个主题的所有教程都没有给出如何用最少的代码实现它的明确示例,我发现最

我知道这个主题可能已经在这里讨论过,关于制作具有逻辑功能的java注释,并根据条件执行特定操作

其中一个著名的例子当然是junit和hibernate

我还看到了一些注释,当您在web服务控制器的api上放置这些注释时,它会检查头部的身份验证令牌,如果用户未经授权,它将返回unauthorized,甚至不会进入此api

此外,我还看到了一个android库,该库使用注释执行大多数常规应用程序逻辑:

现在,我在互联网上看到的关于这个主题的所有教程都没有给出如何用最少的代码实现它的明确示例,我发现最终编写了额外的代码,这与使用注释和逻辑的主要目的相冲突,这可以节省编写更多代码的时间

以本参考文献为例

相当于

requestWindowFeature(Window.FEATURE_NO_TITLE);
在这个例子中,他们似乎只是注入了他们的注释库,他们没有改变任何其他东西,也没有添加任何额外的代码,比如改变基类activity

是不是太抽象了

如果是这样的话,我怎样才能达到这个抽象层次来制作类似于我上面提到的android库的东西呢


为此推荐的任何设计模式?

您提到的示例,即,实际上是注释的良好实现

在您的示例中,Android运行时必须在运行时根据指定的注释将值分配给属性(对象)。方法也可以根据其上指定的注释来选择执行

注释在Java中是一个简单但功能强大的概念。您可以在很大程度上简化api的使用

查看这篇文章,了解如何从头开始创建注释。在页面末尾签出源代码zip文件


相信我,注释学习起来非常简单,它们可以在源代码实现中起到很大的作用。

我可以推荐“有用”一词而不是“功能性”一词吗现在这意味着一个非常具体的事情,充满了lambda?我想我理解你了,因为java 8@EdwinBuckor中有函数接口注释。我理解错了吗。。。但我仍然不明白你所说的“一个充满lambda的非常具体的东西”是什么意思?@edwinbuckinjava8,“functional”描述的不仅仅是一个接口或注释。它描述了一种基于lambda演算的不同类型的计算模型。这是“微积分”的一个更古老的定义,而不是你可能会马上从学校里联想到的,因为它不是关于极限和导数,而是关于“微积分”的定义,它大致上意味着“一种计算方法”。它是它自己的语言“范畴”,必须像面向对象编程一样是一个(不同的)语言范畴。
requestWindowFeature(Window.FEATURE_NO_TITLE);