当前位置:首页 > Java

java 如何用注解

2026-03-26 07:31:13Java

在Java中,注解(Annotation)是一种元数据形式,用于为代码提供附加信息。以下是使用注解的常见方法和场景:

定义自定义注解

通过@interface关键字定义注解,可以指定元注解(如@Target@Retention)来控制注解的行为:

import java.lang.annotation.*;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface CustomAnnotation {
    String value() default "default";
    int priority() default 1;
}

使用内置注解

Java提供了一些内置注解,例如:

  • @Override:标记方法重写父类或接口的方法。
  • @Deprecated:标记方法或类已过时。
  • @SuppressWarnings:抑制编译器警告。
@Override
public String toString() {
    return "Overridden method";
}

处理运行时注解

通过反射机制读取运行时注解信息:

Method method = obj.getClass().getMethod("annotatedMethod");
if (method.isAnnotationPresent(CustomAnnotation.class)) {
    CustomAnnotation annotation = method.getAnnotation(CustomAnnotation.class);
    System.out.println(annotation.value());
}

注解处理器

编译时处理注解需继承AbstractProcessor并注册:

@SupportedAnnotationTypes("com.example.CustomAnnotation")
public class CustomProcessor extends AbstractProcessor {
    @Override
    public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
        for (Element element : roundEnv.getElementsAnnotatedWith(CustomAnnotation.class)) {
            // 处理逻辑
        }
        return true;
    }
}

框架中的注解应用

主流框架广泛使用注解简化开发:

java 如何用注解

  • Spring的@Controller@Autowired
  • JUnit的@Test
  • JPA的@Entity@Column
@RestController
@RequestMapping("/api")
public class MyController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello World";
    }
}

标签: 注解如何用
分享给朋友:

相关文章

如何用VUE实现倍速

如何用VUE实现倍速

使用Vue实现视频倍速播放 在Vue中实现视频倍速播放可以通过HTML5的<video>元素和Vue的数据绑定功能来完成。以下是实现方法: 安装Vue 确保项目中已经安装Vue。如果没有…

如何用vscode 启动react项目

如何用vscode 启动react项目

安装必要工具 确保已安装Node.js(包含npm或yarn),可在终端运行node -v和npm -v检查版本。未安装需从Node.js官网下载。 创建React项目 打开VSCode终端(快捷键…

React如何用按钮更换组件

React如何用按钮更换组件

使用状态管理切换组件 在React中,可以通过状态管理动态切换组件。创建一个状态变量存储当前显示的组件,通过按钮点击事件更新该状态。 import React, { useState } from…

react项目如何用js改样式

react项目如何用js改样式

使用内联样式 在React中,可以直接通过JavaScript对象定义样式,并将其传递给元素的style属性。样式属性需要使用驼峰命名法(如backgroundColor而非background-co…

react如何用ts写高阶组件

react如何用ts写高阶组件

使用 TypeScript 编写 React 高阶组件(HOC) 基本高阶组件结构 高阶组件(HOC)是一个函数,接收一个组件并返回一个新的组件。以下是 TypeScript 的基本实现方式: im…

php注解实现权限

php注解实现权限

PHP 注解实现权限控制的方法 在 PHP 中,注解(Annotations)通常通过 DocBlock 注释实现,结合反射(Reflection)来解析和处理。以下是几种常见的权限控制实现方式:…