注解以前用的少,最近项目中发现偶尔一用,可以使得代码更加简洁
自定义一个注解
@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的管理
总结:
这部分的源码非常短,所以这里就不列举出来,大家可以去了解一下
分享到:
相关推荐
- **java.lang.annotation**:支持注解,可以用来添加元数据或控制编译行为。 - **java.lang.instrument**:支持Java程序的动态代理和监控。 - **java.lang.management**:监视和管理JVM运行时环境。 - **java....
**java.lang.annotation** - **用途**: 注解支持类。 - **关键类**: - `Annotation`: 注解接口。 - `Documented`: 表示注解应该被文档化的元注解。 #### 17. **java.lang.instrument** - **用途**: Java代理...
**JAVA API文档详解** JAVA API(Application Programming Interface)文档是Java开发者的重要参考资料,它详细地列出了Java平台标准版(Java SE)、企业版(Java EE)以及微服务版(Java ME)中的各种类、接口、...
5. **枚举和注解**:Java 5引入了枚举和注解,这些在API文档中也有详细介绍,例如`java.lang.Enum`表示枚举类型,`java.lang.annotation.Annotation`是注解的基类。 6. **异常处理**:Java API文档也涵盖了所有的...
`java.lang.annotation`包则定义了注解,这是一种元数据,可以用来标记代码并提供元信息。 7. **GUI编程**:Java的`java.awt`和`javax.swing`包提供了图形用户界面(GUI)的组件和布局管理器,用于创建桌面应用程序...
注解(`@Annotation`)则提供了元数据,用于在编译时或运行时向编译器或JVM提供信息。 除了这些核心库,Java还提供了大量的标准模块,如`java.sql`用于数据库访问,`javax.swing`提供图形用户界面组件,以及`java.awt...
**JDK1.6 API帮助文档详解** JDK1.6是Java开发工具包的一个重要版本,它包含了Java编程语言的核心库,为开发者提供了丰富的类和接口,使得开发者能够构建跨平台的应用程序。API(Application Programming Interface...
10. **Java注解(Java Annotation)**: 用于添加元数据到代码中,帮助编译器、工具和运行时系统提供额外的信息。 通过深入研究“JAVA2 SDK类库详解”,开发者可以更好地掌握Java的这些核心概念,提升编程技能,解决...
以下是对Java注解的全面详解: 1. **注解类型**: Java注解有三种类型:源码级注解、编译器注解和运行时注解。源码级注解在编译后不会保留,仅用于编译器进行语法检查;编译器注解会影响编译过程,如`@Override`;...
#### 第二部分:@Pointcut注解详解 1. **@Pointcut注解使用** - **方法级别**:@Pointcut注解通常用于定义具体的切点表达式。例如,可以通过`@Pointcut("execution(* com.example.demo.service.*.*(..))")`定义一...
**Java Development Kit (JDK) 接口文档详解** Java Development Kit (JDK) 是Java编程语言的核心组件,它包含了开发、编译、调试和运行Java应用程序所需的所有工具和库。JDK接口文档,通常称为Java API...
10. **注解(Annotation)**:Java SE 6引入了注解这一特性,允许在代码中添加元数据,增强了代码的可读性和自描述性。 11. **XML处理**:`javax.xml`包提供了处理XML文档的工具,如`DocumentBuilderFactory`、`...
- `NoNeedToken.java`: 自定义注解,用于标记那些不需要进行token验证的方法。 - `TestController.java`: 测试接口目录,包含受拦截和不受拦截的方法。 #### 步骤详解 ### 1. 自定义拦截器 在`TokenInterceptor....
- **API详解**:每个类和接口的文档都会详细说明其构造函数、方法、字段以及常量,包括参数类型、返回值、异常抛出情况和使用示例。 3. **关键API介绍**: - **`java.lang`**:基础包,所有Java程序都自动导入,...
### Annotation详解 #### 一、概述 在Java编程语言中,`Annotation`(注解)是一种元数据形式,用于向编译器或分析工具提供有关程序的信息,而不会影响程序的实际执行逻辑。开发者可以通过注解来标记代码的不同...
在Java编程语言中,注解(Annotation)是一种元数据,它提供了向编译器或JVM提供附加信息的方式。这些信息可以用于代码分析、编译时检查或运行时处理。注解不会直接影响程序的执行,但它们能为工具和框架提供重要的...
7. **注解**:`java.lang.annotation`包定义了注解的元数据,开发者可以使用注解来添加编译时或运行时的信息,提高代码的可维护性和可扩展性。 8. **Java平台标准版(Java SE)**:包括核心的Java类库和运行时环境...
【标题】:注解(Annotation)详解 注解(Annotation)是Java编程语言中的一个重要特性,自Java 5版本引入,它提供了一种安全的方法来将元数据与代码关联。元数据是关于数据的数据,可以用来提供程序的额外信息,如...
6. **反射与注解(java.lang.reflect、java.lang.annotation)**:允许程序在运行时检查自身结构并进行动态操作。 7. **图形用户界面(java.awt、javax.swing)**:用于创建GUI应用程序的类库。 8. **数据库访问...