当前位置:   article > 正文

Java中自定义注解的使用

自定义注解

目录

1、为什么要使用自定义注解?

2、自定义注解

2.1、@interface定义注解接口

2.2、@Retention指定注解的保留策略

2.3、@Target指定注解的作用目标

2.4、注解处理

2.4.1、运行时注解处理

2.4.1.1 切面

2.4.1.2 拦截器

2.4.2、编译时注解处理

 2.5、使用自定义注解

3、总结


1、为什么要使用自定义注解

以【记录操作日志】为例,一般在开发中为了记录用户操作,当系统出现问题时,可以追溯日志所提供详细的错误信息,帮助开发者快速定位问题的原因

最简单的方法:在每个方法中增加日志信息打印代码,来记录操作日志,但是这样重复代码也很多,也不易扩展,而且易出错

使用自定义注解就会方便很多,减少不必要的重复代码,减少非业务代码的侵入性,如果需要扩展操作用户的信息以及IP就会很方便,易于扩展和维护

2、自定义注解

2.1、@interface定义注解接口

  1. public @interface LogOperation {
  2. String value() default "";
  3. }

2.2、@Retention指定注解的保留策略

即注解在什么阶段可用,可选值有:

  • RetentionPolicy.SOURCE:注解仅在源码阶段保留,编译时丢弃。
  • RetentionPolicy.CLASS:注解在编译时保留,但在运行时丢弃(默认值)。
  • RetentionPolicy.RUNTIME:注解在运行时保留,可以通过反射获取
  1. @Retention(RetentionPolicy.RUNTIME)
  2. public @interface LogOperation {
  3. String value() default "";
  4. }

2.3、@Target指定注解的作用目标

最常用的元注解是@Target,使用@Target可以定义Annotation能够被应用于源码的哪些位置:

  • 类或接口:ElementType.TYPE

  • 字段:ElementType.FIELD

  • 方法:ElementType.METHOD

  • 构造方法:ElementType.CONSTRUCTOR

  • 方法参数:ElementType.PARAMETER

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/1021294
推荐阅读
相关标签