美文网首页
自定义java注解【原创】

自定义java注解【原创】

作者: 程序员不会写代码 | 来源:发表于2019-05-23 13:00 被阅读0次

    注解的用途

    在实际的java开发中我们会使用各种各样的注解,每个注解都有不用的作用,也有不同的作用范围,比如长见的@Override注解,在重写父类方法的时候会出现,最常见的地方就是接口的实现类中,再有就是在方法入参的时候经常需要用到的lombok的@NonNull注解,有了这个注解就可以控制入参参数不为null,不需要自己手动实现校验逻辑。大多数的注解并没有实现注解名称对应的功能,仅仅是起到标记的作用,真正起作用的或者实现这些功能的代码逻辑在其他的class文件中,关于如何通过注解实现某些功能下个章节在将,这个章节只讲如何创建自定义注解

    先来看下lombok中@NonNull注解

    lombok中的@NonNull注解

    这是一个标记注解,结构非常的简单,只是在interface前面加上了@符号,上面多了几个其他的注解而已

    @Target注解以及其中参数作用:表明这个注解能用在哪些地方,target里面可以放多个值每个值对应如下

    1.ElementType.CONSTRUCTOR:用于构造器

    2.ElementType.FIELD:用于属性

    3.ElementType.LOCAL_VARIABLE:用于局部变量

    4.ElementType.METHOD:用于方法

    5.ElementType.PACKAGE:用于包

    6.ElementType.PARAMETER:用于参数

    7.ElementType.TYPE:用于类、接口(包括注解类型) 或enum声明

    注解类上的其余注解的作用

    @Documented – 注解是否将包含在JavaDoc中

    @Retention – 什么时候使用该注解

    @Inherited – 是否允许子类继承该注解

    一般来说,自定义注解的使用范围不要写的太宽,按照自己的使用场景在target中的选择合适的范围就行

    以下是我在项目中使用的两个标记注解

    只能用来标记入参的参数 只能用来标记方法

    相关文章

      网友评论

          本文标题:自定义java注解【原创】

          本文链接:https://www.haomeiwen.com/subject/djyvzqtx.html