Java注解Annotation详解:自定义注解、元注解、应用场景

1 下载量 7 浏览量 更新于2024-09-02 收藏 88KB PDF 举报
Java注解Annotation与自定义注解详解 Java注解Annotation是Java语言中的一种 metadata 机制,用于在源代码中添加信息,方便编译器、IDE、其他工具或者应用程序来了解代码的意图和结构。Java注解可以分为三类:标记注解、单元素注解和多元素注解。 一、Java注解简介 Java注解是一种特殊的 Java 类型,它可以被用来标注Java类、方法、变量、参数等。Java注解可以提供更多的信息,例如方法的作者、版本号、修饰符等。Java注解可以分为两类:内置注解和自定义注解。 内置注解包括: * @Override:用于标识该方法继承自超类,当父类的方法被删除或修改了,编译器会提示错误信息。 * @Deprecated:表示该类或者该方法已经不推荐使用,已经过期了,如果用户还是要使用,会生成编译的警告。 * @SuppressWarnings:用于忽略编译器警告信息。 * Junit测试:@Test * Spring的一些注解:@Controller、@RequestMapping、@RequestParam、@ResponseBody、@Service、@Component、@Repository、@Resource、@Autowire * Java验证的注解:@NotNull、@Email 二、Java注解基本知识 1. Java注解数据类型 Java注解是Java的一种数据类型,使用@interface关键字定义。Java注解可以分为Class、Interface、Enum、Annotation四种类型。 2. Java元注解 Java元注解是用于描述Java注解的注解,例如@Target、@Retention等。元注解可以提供关于Java注解的更多信息,例如注解的作用域、生命周期等。 * @Documented:用于标记在生成javadoc时是否将注解包含进去。 * @Retention:用于指定注解的生命周期,例如RetentionPolicy.SOURCE表示注解只保留在源代码中。 * @Target:用于指定注解的作用域,例如ElementType.METHOD表示注解只能作用于方法上。 三、Java自定义注解 Java自定义注解可以根据需求来定义,例如定义一个@MyAnnotation注解,用于标记某个方法或类。自定义注解可以提供更多的信息,例如作者、版本号、修饰符等。 * 自定义注解的定义 使用@interface关键字定义自定义注解,例如: ```java @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @interface MyAnnotation { } ``` * 自定义注解的应用 自定义注解可以应用于各种场景,例如用于标记某个方法或类,或者用于提供更多的信息等。 四、Java注解的应用场景 Java注解可以应用于各种场景,例如: * 标记某个方法或类 * 提供更多的信息,例如作者、版本号、修饰符等 * 用于依赖注入,例如Spring框架中的@Autowired注解 * 用于验证,例如Java验证的注解@NotNull、@Email等 五、结论 Java注解是Java语言中的一种metadata机制,用于在源代码中添加信息,方便编译器、IDE、其他工具或者应用程序来了解代码的意图和结构。Java注解可以分为内置注解和自定义注解,自定义注解可以根据需求来定义,用于提供更多的信息或标记某个方法或类。Java注解的应用场景非常广泛,例如标记某个方法或类、提供更多的信息、用于依赖注入、用于验证等。