【发布时间】:2014-04-25 13:36:20
【问题描述】:
一些使用自定义注解的项目如下。例如如下。请解释一下
- 我应该何时决定使用自定义注释。
- @Target & @Retention 注解属性的作用
-
使用 import java.lang.annotation.Target 和 import java.lang.annotation.Retention 或 hibernate 特定的注解是否更好,如下所示
@实体 @Table(name = "creditCard")
@CreditCardEntity
public class CreditCard implements java.io.Serializable {} import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.hibernate.validator.ValidatorClass; @Target( { ElementType.TYPE }) @Retention(RetentionPolicy.RUNTIME) public @interface CreditCardEntity {} }
【问题讨论】:
-
你读过这个wikipedia article吗? “@Target - 标记另一个注解以限制该注解可以应用于哪种 Java 元素”和“@Retention - 指定如何存储标记的注解——无论是仅在代码中、编译到类中还是在运行时通过反射可用。”