`
janeky
  • 浏览: 366529 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

注解 java.lang.annotation.* 详解

 
阅读更多

注解以前用的少,最近项目中发现偶尔一用,可以使得代码更加简洁

 

自定义一个注解

 

 

@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface TestAnnotation {
	public int value() default 1;
}

对这些一一解释一下:

 

1.Documented.java 

表示这一类型的注释将通过 javadoc 和类似的默认工具进行文档化

 

2.Target .java

注解适用的目标类型,如果不注明,表示适用于各种类型

包括ElementType.java中定义的以下类型

 

  • TYPE - 类,接口(包括注解类型),枚举定义
  • FIELD - 字段定义(包括枚举常量)
  • METHOD - 方法定义,
  • PARAMETER - 参数定义,
  • CONSTRUCTOR - 构造函数,
  • LOCAL_VARIABLE - 本地变量,
  • ANNOTATION_TYPE - 注解类型
  • PACKAGE - 包定义

 

3.Retention.java

注解持续的范围,包括RetentionPolicy.java定义的

 

  • SOURCE - 会被编译器忽略
  • CLASS - 注解会被编译器记录在类文件中,在运行时不需要保持。这是缺省的保存方式
  • RUNTIME - 注解会被编译器记录在类文件中,并且在运行时保持,因此可以通过反射获得

 

4.Inherited.java

注释类型被子类自动继承。也就是当我查询一个类是否有某种Annotation时,如果该类不存在,自动查找该父类是否有该Annotation

 

5.在注解里面就可以定义各种属性了,每种属性还可以定义缺省值default

 

6.使用注解更简单了

@TestAnnotation(value=2)

public static void method(){

}

 

7.之后我们就可以通过反射去访问该注解了

TestAnnotation anno = method.getAnnotation(TestAnnotation.class);

anno.id();

 

8.注解的用途

注解一般适用于各种配置和标记,例如spring等框架通过注解类来实现bean的管理

 

总结:

 

这部分的源码非常短,所以这里就不列举出来,大家可以去了解一下

0
0
分享到:
评论

相关推荐

    java API文档

    - **java.lang.annotation**:支持注解,可以用来添加元数据或控制编译行为。 - **java.lang.instrument**:支持Java程序的动态代理和监控。 - **java.lang.management**:监视和管理JVM运行时环境。 - **java....

    api的文档

    **java.lang.annotation** - **用途**: 注解支持类。 - **关键类**: - `Annotation`: 注解接口。 - `Documented`: 表示注解应该被文档化的元注解。 #### 17. **java.lang.instrument** - **用途**: Java代理...

    JAVA API文档

    **JAVA API文档详解** JAVA API(Application Programming Interface)文档是Java开发者的重要参考资料,它详细地列出了Java平台标准版(Java SE)、企业版(Java EE)以及微服务版(Java ME)中的各种类、接口、...

    JAVA帮助文档(CHM格式,下载就能看,不用安装其他阅读软件)

    5. **枚举和注解**:Java 5引入了枚举和注解,这些在API文档中也有详细介绍,例如`java.lang.Enum`表示枚举类型,`java.lang.annotation.Annotation`是注解的基类。 6. **异常处理**:Java API文档也涵盖了所有的...

    Java2 SDK 类库.rar

    `java.lang.annotation`包则定义了注解,这是一种元数据,可以用来标记代码并提供元信息。 7. **GUI编程**:Java的`java.awt`和`javax.swing`包提供了图形用户界面(GUI)的组件和布局管理器,用于创建桌面应用程序...

    java类库详解

    注解(`@Annotation`)则提供了元数据,用于在编译时或运行时向编译器或JVM提供信息。 除了这些核心库,Java还提供了大量的标准模块,如`java.sql`用于数据库访问,`javax.swing`提供图形用户界面组件,以及`java.awt...

    JDK1.6 API帮助文档

    **JDK1.6 API帮助文档详解** JDK1.6是Java开发工具包的一个重要版本,它包含了Java编程语言的核心库,为开发者提供了丰富的类和接口,使得开发者能够构建跨平台的应用程序。API(Application Programming Interface...

    JAVA2 SDK类库详解

    10. **Java注解(Java Annotation)**: 用于添加元数据到代码中,帮助编译器、工具和运行时系统提供额外的信息。 通过深入研究“JAVA2 SDK类库详解”,开发者可以更好地掌握Java的这些核心概念,提升编程技能,解决...

    最全Java注解图文超详解(建议收藏)

    以下是对Java注解的全面详解: 1. **注解类型**: Java注解有三种类型:源码级注解、编译器注解和运行时注解。源码级注解在编译后不会保留,仅用于编译器进行语法检查;编译器注解会影响编译过程,如`@Override`;...

    如何使用Spring Boot的@Pointcut注解

    #### 第二部分:@Pointcut注解详解 1. **@Pointcut注解使用** - **方法级别**:@Pointcut注解通常用于定义具体的切点表达式。例如,可以通过`@Pointcut("execution(* com.example.demo.service.*.*(..))")`定义一...

    参考文档-jdk接口文档.7z

    **Java Development Kit (JDK) 接口文档详解** Java Development Kit (JDK) 是Java编程语言的核心组件,它包含了开发、编译、调试和运行Java应用程序所需的所有工具和库。JDK接口文档,通常称为Java API...

    jdk1.6.chm(API 规范)

    10. **注解(Annotation)**:Java SE 6引入了注解这一特性,允许在代码中添加元数据,增强了代码的可读性和自描述性。 11. **XML处理**:`javax.xml`包提供了处理XML文档的工具,如`DocumentBuilderFactory`、`...

    实现java自定义注解拦截器.docx

    - `NoNeedToken.java`: 自定义注解,用于标记那些不需要进行token验证的方法。 - `TestController.java`: 测试接口目录,包含受拦截和不受拦截的方法。 #### 步骤详解 ### 1. 自定义拦截器 在`TokenInterceptor....

    Java_api查看.rar

    - **API详解**:每个类和接口的文档都会详细说明其构造函数、方法、字段以及常量,包括参数类型、返回值、异常抛出情况和使用示例。 3. **关键API介绍**: - **`java.lang`**:基础包,所有Java程序都自动导入,...

    annotation 详解

    ### Annotation详解 #### 一、概述 在Java编程语言中,`Annotation`(注解)是一种元数据形式,用于向编译器或分析工具提供有关程序的信息,而不会影响程序的实际执行逻辑。开发者可以通过注解来标记代码的不同...

    JAVA 注解示例 详解

    在Java编程语言中,注解(Annotation)是一种元数据,它提供了向编译器或JVM提供附加信息的方式。这些信息可以用于代码分析、编译时检查或运行时处理。注解不会直接影响程序的执行,但它们能为工具和框架提供重要的...

    jdk_api.zip

    7. **注解**:`java.lang.annotation`包定义了注解的元数据,开发者可以使用注解来添加编译时或运行时的信息,提高代码的可维护性和可扩展性。 8. **Java平台标准版(Java SE)**:包括核心的Java类库和运行时环境...

    annotation详解

    【标题】:注解(Annotation)详解 注解(Annotation)是Java编程语言中的一个重要特性,自Java 5版本引入,它提供了一种安全的方法来将元数据与代码关联。元数据是关于数据的数据,可以用来提供程序的额外信息,如...

    javaApi帮助文档

    6. **反射与注解(java.lang.reflect、java.lang.annotation)**:允许程序在运行时检查自身结构并进行动态操作。 7. **图形用户界面(java.awt、javax.swing)**:用于创建GUI应用程序的类库。 8. **数据库访问...

Global site tag (gtag.js) - Google Analytics