当前位置:网站首页 > 技术博客 > 正文

java自己写一个注解



如果此刻不方便阅读,可收藏或关注微信公众号《程序新视界》回复“注解”获得PDF版本。

注解(Annontation),Java5引入的新特性,位于java.lang.annotation包中。提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。是一种说明、配置、描述性的信息,与具体业务无关,也不会影响正常的业务逻辑。但我们可以用反射机制来进行校验、赋值等操作。

常见的注解:@Override,@author,@param,@Deprecated,@SuppressWarnings。

注解的常见用途:

注解的定义

元注解

元注解是专门用来注解其他注解的注解,听起来有些绕口,实际上就是专门为自定义注解提供的注解。java.lang.annotation提供了四种元注解:

注解的生命周期

通过@Retention定义注解的生命周期,格式如下:

其中RetentionPolicy的不同策略对应的生命周期如下:

注解的作用目标

通过@Target定义注解作用的目标,比如作用于类、属性、或方法等,默认可用于任何地方。格式如下:

对应ElementType参数值适用范围如下:

Documented

@Documented,表示是否将此注解的相关信息添加到javadoc文档中。

Inherited

@Inherited,定义该注解和子类的关系,使用此注解声明出来的自定义注解,在使用在类上面时,子类会自动继承此注解,否则,子类不会继承此注解。注意,使用Inherited声明出来的注解,只有在类上使用时才会有效,对方法,属性等其他无效。

下面通过一个实例来演示注解的使用:通过注解进行赋值和通过注解进行校验。

自定义注解

这里定义两个注解,一个用来赋值,一个用来校验。

定义数据模型

这里用User类来表示具体待处理的数据对象。

测试调用

具体测试调用的过程,参考代码中的注解,其中initUser方法来演示通过反射给属性赋值,checkUser方法通过反射拿到当前属性的值进行对比校验。

打印日志:

版权声明


相关文章:

  • qss语法2025-06-13 14:30:01
  • linux将gbk转为utf82025-06-13 14:30:01
  • linux中getpid2025-06-13 14:30:01
  • 开窗函数语法结构2025-06-13 14:30:01
  • dnspod cdn2025-06-13 14:30:01
  • 动态规划之01背包问题(最易理解的讲解)2025-06-13 14:30:01
  • 程序员快速入门2025-06-13 14:30:01
  • epic安装不上错误代码25032025-06-13 14:30:01
  • clientwidth和offsetwidth2025-06-13 14:30:01
  • 攻防世界easyrsa2025-06-13 14:30:01