JAVA注解之-@Retention

@Retention这个注解只是用来标注自定义的注解的存在生命周期。

@Retention注解属性值

public enum RetentionPolicy {
    /**
     * Annotations are to be discarded by the compiler.
     * 注解在编译期间会被丢弃,就是如果使用这个属性,这个注解只会保留在源码上,编译之后是没有的。
     */
    SOURCE,

    /**
     * Annotations are to be recorded in the class file by the compiler
     * but need not be retained by the VM at run time.  This is the default
     * behavior.
     * 这个是默认值,保留在编译之后的class上,运行的时候获取不到。
     */
    CLASS,

    /**
     * Annotations are to be recorded in the class file by the compiler and
     * retained by the VM at run time, so they may be read reflectively.
     * 保留在运行期间,在运行的时候可以通过工具类获取到这个注解,这个注解的属性没有什么实际意义。
     * @see java.lang.reflect.AnnotatedElement
     */
    RUNTIME
}

使用

NacosPropertySources这个注解指定的就是运行期间的生命周期。

在这里插入图片描述

总结

这个注解好像没啥用,哈哈哈。

发布了188 篇原创文章 · 获赞 34 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/u010316188/article/details/103680510