Java中注解(Annotation)的使用


前言

注解Annotation,其实就是代码里的特殊标记, 这些标记可以在编译, 类加 载, 运行时被读取, 并执行相应的处理。


一、注解的作用

Annotation 可以像修饰符一样被使用, 可用于修饰包,类, 构造器, 方 法, 成员变量, 参数, 局部变量的声明, 这些信息被保存在 Annotation 的 “name=value” 对中。 注解是一种趋势,一定程度上可以说:框架 = 注解 + 反射 + 设计模式。

二、示例一:生成文档相关的注解

package com.annotation.javadoc;
/**
* @author shkstart
* @version 1.0
* @see Math.java
*/
public class JavadocTest {
          
   
/**
* 程序的主方法,程序的入口
* @param args String[] 命令行参数
*/
public static void main(String[] args) {
          
   
}
/**
* 求圆面积的方法
* @param radius double 半径值
* @return double 圆的面积
*/
public static double getArea(double radius){
          
   
return Math.PI * radius * radius; } }

三、示例二:在编译时进行格式检查(JDK内置的三个基本注解)

@Override: 限定重写父类方法, 该注解只能用于方法 @Deprecated: 用于表示所修饰的元素(类, 方法等)已过时。通常是因为 所修饰的结构危险或存在更好的选择 @SuppressWarnings: 抑制编译器警告

package com.annotation.javadoc;
public class AnnotationTest{
          
   
public static void main(String[] args) {
          
   
@SuppressWarnings("unused")
int a = 10;
}
@Deprecated
public void print(){
          
   
System.out.println("过时的方法");
}
@Override
public String toString() {
          
   
return "重写的toString方法()"; } }

四、示例三:跟踪代码依赖性,实现替代配置文件功能

Servlet3.0提供了注解(annotation),使得不再需要在web.xml文件中进行Servlet的部署。 spring框架中关于“事务”的管理

五、自定义注解:参照@SuppressWarnings定义

* ① 注解声明为:@interface
  * ② 内部定义成员,通常使用value表示
  * ③ 可以指定成员的默认值,使用default定义
  * ④ 如果自定义注解没有成员,表明是一个标识作用。
  *
public @interface MyAnnotation {
          
   

    String value() default "hello";//value默认值hello
}

如果注解有成员,在使用注解时,需要指明成员的值。

@MyAnnotation(value="hi")
@MyAnnotation(value="abc")
经验分享 程序员 微信小程序 职场和发展