美文网首页
Java自定义注解

Java自定义注解

作者: MC_Honva | 来源:发表于2018-01-11 15:50 被阅读12次

Java提供了四种元注解来注解其他注解

  • @Target
  • @Retention
  • @Inheried
  • @Documented

较为重要的是前面2个,target和retention,下面分别一个一个解释其用途。

@Target:

作用:用于描述注解的使用范围(即:被描述的注解可以用在什么地方)

取值(ElementType)有:

  1. ElementType.CONSTRUCTOR:用于描述构造器
  2. ElementType.FIELD:用于描述域
  3. ElementType.LOCAL_VARIABLE:用于描述局部变量
  4. ElementType.METHOD:用于描述方法
  5. ElementType.PACKAGE:用于描述包
  6. ElementType.PARAMETER:用于描述参数
  7. ElementType.TYPE:用于描述类、接口(包括注解类型) 或enum声明
@Retention:

作用:用于描述注解的生命周期(即:被描述的注解在什么范围内有效)

取值(RetentionPoicy)有:

  1. RetentionPolicy.SOURCE:在源文件中有效(即源文件保留),编译时被丢掉
  2. RetentionPolicy.CLASS:在class文件中有效(即class保留),但会被VM丢弃(默认)
  3. RetentionPolicy.RUNTIME:内存中的字节码,VM将在运行时也保留注解,因此可以通过反射机制读取注解的信息
@Inherited

指定子类可以继承父类的注解,只能是类上的注解,方法和字段的注解不能继承。即如果父类上的注解是@Inherited修饰的就能被子类继承。

@Documented

作用:指定被标注的注解会包含在javadoc中,即对应的方法生成javadoc的API文档时,会显示有这样的注解

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface testDoc {

}

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface testNoDoc {
    
}


public class Demodoc {
    @testDoc
    public void test(){
        
    }
    @testNoDoc
    public void testNoDoc(){
        
    }
}

上述代码生成javadoc后,如下图
[图片上传失败...(image-d73013-1515656945658)]

SpringMVC自定义注解需要在配置文件中添加注解代理

<!-- <mvc:annotation-driven/> -->
    <aop:aspectj-autoproxy proxy-target-class="true" />

下图为Java注解的基础知识点导图


25200814-475cf2f3a8d24e0bb3b4c442a4b44734.jpg

参考地址:http://www.cnblogs.com/peida/archive/2013/04/26/3038503.html

相关文章

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

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

  • 注解学习笔记

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

  • springMVC的自定义annotation(@Retenti

    自定义注解: 使用@interface自定义注解时,自动继承了java.lang.annotation.Annot...

  • 画个图,玩一下注解

    参考《深入理解Java:注解(Annotation)自定义注解入门》

  • 注解的使用

    元注解 注解 注解本质就是接口: 元注解:修饰注解的注解 自定义注解 Text.java FruitName.ja...

  • 注解

    Java注解 注解 元注解 自定义注解 元注解:负责注解其他注解 共有4个标准的meta-annotation类型...

  • Spring注解原理探索(一)

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

  • Java注解与Spring注解

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

  • JAVA之自定义注解

    java的基本注解和元注解,不满足条件时可以自定义注解。声明自定义注解使用@interface关键字实现。 根据注...

  • Android 编译时注解 —— 语法详解

    java Type 详解 java 反射机制详解 注解使用入门(一) Android 自定义编译时注解1 - 简单...

网友评论

      本文标题:Java自定义注解

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