Java常用的注解

62 阅读2分钟

Java常用的注解有很多,以下是其中一些常用的注解及其详细说明:

  1. @Override:该注解用于表示一个方法是重写了父类中的方法。使用该注解可以帮助编译器检查是否正确地重写了父类方法,并提高代码的可读性。
  2. @Deprecated:该注解用于标记已过时的方法、类或属性。当使用这些过时的元素时,编译器会发出警告,建议使用其他更新的元素替代。
  3. @SuppressWarnings:该注解用于关闭特定编译器的警告信息。当使用该注解时,编译器会忽略指定的警告信息,以便能够编译通过代码。
  4. @SafeVarargs:该注解用于声明一个方法或构造函数的参数是安全的,可以在编译时避免关于可变参数的警告。
  5. @FunctionalInterface:该注解用于标记一个接口是函数式接口,即该接口只包含一个抽象方法的接口。这有助于编译器检查代码是否符合函数式接口的要求。
  6. @Override、@NonNull、@Nullable等注解:这些注解用于提供关于方法参数和返回值的更多信息,帮助编译器和代码阅读者更好地理解代码的含义和用途。
  7. Spring框架中的注解:如@Component、@Service、@Repository、@Controller等,这些注解用于标记Spring组件,以便在运行时由Spring容器进行自动扫描和注入。
  8. MyBatis框架中的注解:如@Select、@Insert、@Update、@Delete等,这些注解用于标记SQL语句,以便在运行时由MyBatis框架执行相应的操作。

以下是用注解写的Java项目 好的,以下是一个简单的使用注解的Java项目示例:

  1. 首先,定义一个自定义注解MyAnnotation
import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyAnnotation {
    String value() default "";
}

这个注解有一个字符串类型的value属性,默认值为空。

  1. 创建一个类MyClass,并在其中定义一个方法myMethod,并使用MyAnnotation注解:
public class MyClass {
    @MyAnnotation("Hello, World!")
    public void myMethod() {
        System.out.println("This is myMethod!");
    }
}

在这个例子中,我们使用MyAnnotation注解为myMethod方法添加了一个字符串类型的值"Hello, World!"。

  1. 创建一个类MyApp,并在其中使用反射机制来获取MyClass中的myMethod方法,并根据注解信息执行该方法:
public class MyApp {
    public static void main(String[] args) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
        MyClass obj = new MyClass();
        Method method = obj.getClass().getMethod("myMethod");
        if (method.isAnnotationPresent(MyAnnotation.class)) {
            MyAnnotation annotation = method.getAnnotation(MyAnnotation.class);
            String value = annotation.value();
            System.out.println("Annotation value: " + value);
            method.invoke(obj);
        } else {
            System.out.println("No annotation found on the method.");
        }
    }
}

在这个例子中,我们创建了一个MyClass对象,并使用反射机制获取了myMethod方法。然后,我们检查该方法上是否存在MyAnnotation注解,并根据注解的值执行该方法。如果注解不存在,则输出一条相应的消息。