美文网首页
java中自定义注解

java中自定义注解

作者: 谁在烽烟彼岸 | 来源:发表于2019-07-20 10:56 被阅读0次

常用注解

@Override,表示当前的方法定义将覆盖超类中的方法。
@Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。
@SuppressWarnings,关闭不当编辑器警告信息。

Java还提供了4中注解,专门负责新注解的创建:

@Target:

表示该注解可以用于什么地方,可能的ElementType参数有:
CONSTRUCTOR:构造器的声明
FIELD:域声明(包括enum实例)
LOCAL_VARIABLE:局部变量声明
METHOD:方法声明
PACKAGE:包声明
PARAMETER:参数声明
TYPE:类、接口(包括注解类型)或enum声明

@Retention

表示需要在什么级别保存该注解信息。可选的RetentionPolicy参数包括:
SOURCE:注解将被编译器丢弃
CLASS:注解在class文件中可用,但会被VM丢弃
RUNTIME:VM将在运行期间保留注解,因此可以通过反射机制读取注解的信息

@Document

将注解包含在Javadoc中

@Inherited

允许子类继承父类中的注解

demo

首先创建一个注解类

//表示该注解可以用于什么地方
@Target(ElementType.METHOD)
//表示需要在什么级别保存该注解信息
@Retention(RetentionPolicy.RUNTIME)
//将注解包含在Javadoc中
@Documented
public @interface WxCheck {
    /**
     * 方法
     *
     * @return
     */
    SecurityMethod method() default SecurityMethod.NULL;
    /**
     * @return
     */
    String value();

    /**
     * 需要检测的参数
     */
    String[] params() default {};
}

然后使用注解

    @PostMapping(value = "/xxxx/xxx")
    @WxCheck(value = "notice", targetClass = ClubActivityController.class)
    public DTOResult<List<ClubNoticeEntity>> addNotice(@RequestBody ClubNoticeDTO clubNoticeDTO) {
         ......
        return rlt.withSuccess(list);
    }

最后我们来测试我们写的注解:

    @Pointcut("@annotation(com.xxx.xxx.WxCheck)")
    public void contentDetectionCheck() {
        System.out.println("wx check ContentDetection!");
    }

    @Around(value = "contentDetectionCheck() && @annotation(demo)", argNames = "pjp,demo")
    public DTOResult contentDetectionCheckAround(ProceedingJoinPoint pjp, WxCheck demo) {
       ....
       return new DTOResult().withSuccess();
    }

总结:

java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 java.lang.annotation 包中java自定义注解和运行时靠反射获取注解。

相关文章

  • Java注解知识梳理—自定义注解处理器

    Java注解知识梳理—自定义注解处理器 前言 前面介绍了如何自定义注解以及Java中关于注解的一些元素作用,学会了...

  • JAVA中的注解

    abstract 什么是java中的注解 注解的定义 自定义一个注解 什么是java中的注解 注解提供了一种安全的...

  • Spring注解原理探索(一)

    之 Java元注解释义 Question 注解在Java中如何起作用? Spring是如何识别注解? 如何自定义注...

  • Java注解与Spring注解

    1,元注解与自定义注解 1)java.lang.annotation包中包含了所有定义自定义注解所需要的元注解和接...

  • Java注解(Annotation)总结

    本篇文章讲述Java中注解的相关知识。从Java中内置的注解,到自定义注解,最后再介绍如何使用注解。 一、元素据 ...

  • Java注解(Annotation)详解

    本篇文章讲述Java中注解的相关知识。从Java中内置的注解,到自定义注解,最后再介绍如何使用注解。 一、元素据 ...

  • Tip小杂记——java注解探索(上)

    在java的代码中,总是能看见注解的使用,流行的框架,项目中自定义的注解等,注解在java中担当了重要的作用,所以...

  • Spring注解原理探索(二)

    之 Java中如何自定义注解 1.先看注解定义示例 @Override 源码定义: 使用@interface 表示...

  • 注解学习笔记

    什么是注解注解分类注解作用分类 元注解 Java内置注解 自定义注解自定义注解实现及使用编译时注解注解处理器注解处...

  • 简单实现自定义注解

    在Java中创建自定义注解 创建自定义注解与编写接口很相似,除了它的接口关键字前有个@符号。注意以下几点: ·注解...

网友评论

      本文标题:java中自定义注解

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