diff --git a/src/main/java/com/annotation/APPLoginUser.java b/src/main/java/com/annotation/APPLoginUser.java index 21d41b9..b57ee2f 100644 --- a/src/main/java/com/annotation/APPLoginUser.java +++ b/src/main/java/com/annotation/APPLoginUser.java @@ -1,15 +1,24 @@ +// 定义该文件所在的包路径,在 Java 里,包是组织类和接口的一种方式,此包路径为 com.annotation,能防止命名冲突,也便于代码的管理与维护 package com.annotation; +// 导入 java.lang.annotation.ElementType 类,它是一个枚举类型,包含了多种不同的元素类型,像类、方法、字段等,在定义注解时可借助它来指定注解的作用目标 import java.lang.annotation.ElementType; + +// 导入 java.lang.annotation.Retention 注解,它用于指定注解的保留策略,也就是注解在不同阶段的存活时间和可见性 import java.lang.annotation.Retention; + +// 导入 java.lang.annotation.RetentionPolicy 枚举类,它定义了三种保留策略,分别是 SOURCE(仅在源码中保留)、CLASS(在编译后的字节码文件中保留,但运行时不可用)、RUNTIME(在运行时也保留,可通过反射机制获取) import java.lang.annotation.RetentionPolicy; + +// 导入 java.lang.annotation.Target 注解,它用于指定自定义注解可以应用的目标元素类型,与 ElementType 结合使用,能精确控制注解的使用范围 import java.lang.annotation.Target; -/** - * 登录用户信息 - */ +// 登录用户信息注解 +// 用于标识Controller方法中需要注入当前登录用户信息的参数 @Target(ElementType.PARAMETER) +// 指定该注解只能用于方法参数上 @Retention(RetentionPolicy.RUNTIME) -public @interface APPLoginUser { - -} +public @interface APPLoginUser {// 指定该注解在运行时保留,可以通过反射读取 + // 这是一个标记注解,不包含任何属性 + // 用于标识需要自动注入当前登录用户信息的参数 +} \ No newline at end of file