作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
Java 注释用 @Target
注释标记,以声明可由该注释修饰的可能连接点。 ElementType
枚举的TYPE
、FIELD
、METHOD
等值清晰易懂。
为什么要使用 @Target(ANNOTATION_TYPE)
值?带注释的注释有什么用?他们的贡献是什么?给我一个解释它如何工作的想法以及我为什么要使用它。一些已经存在且众所周知的使用示例也会很棒。
最佳答案
您可以使用带注释的注解来创建元注解,例如考虑 Spring 中 @Transactional
的这种用法:
/**
* Shortcut and more descriptive "alias" for {@code @Transactional(propagation = Propagation.MANDATORY)}.
*/
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Transactional(propagation = Propagation.MANDATORY)
public @interface RequiresExistingTransaction {
}
当你启用 Spring 来处理 @Transactional
注解时,它将寻找携带 @Transactional
或任何元数据的类和方法它的注释(使用 @Transactional
注释的注释)。
无论如何,这只是一个如何使用带注释的注释的具体示例。我想这主要是像 Spring 这样的框架,使用它们是有意义的。
关于java - @Target(ElementType.ANNOTATION_TYPE) 如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15101139/
Java 注释用 @Target 注释标记,以声明可由该注释修饰的可能连接点。 ElementType枚举的TYPE、FIELD、METHOD等值清晰易懂。 问题 为什么要使用 @Target(ANN
我是一名优秀的程序员,十分优秀!