java如何自定义注解呢?

乔欣 Java经验 发布时间:2023-02-28 15:00:16 阅读数:4877 1
下文笔者讲述Java自定义注解的方法及示例分享,如下所示

自定义注解简介

注解:
  可添加到java源代码中的元数据,方法、类、参数和包
  用于修饰这些对象
  代码在编译或运行时,对这些特殊标记进行特殊的处理
我们将这种标记称之为“注解”

自定义注解所需要的信息

修饰符:
   访问修饰符必须为public
    不写的话默认为public;

关键字:
   关键字为@interface;

注解名称:
    注解名称为自定义注解的名称,使用时候会用到;

注解类型元素:
    注解类型元素是注解中的内容
例:
@Retention(RetentionPolicy.Runtime)
@Target({ElementType.TYPE,ElementType.METHOD})
@Documented
public @interface TestData{
	/**
	 * 暂时没用
	 * @return
	 */
	String value() default "";
	
	
	/**
	 * 配置菜单的组件路径,用于数据权限
	 */
	String pageComponent() default "";
}

自定义注解用到的元注解

JDK中元注解
   有@Targert,@Rentention,@Document,@Inherited用来修饰注解 
@Target:
  该注解可以应用的java元素类型
Target类型 备注
ElementType.TYPE 应用于类、接口(包括注解类型)、枚举
ElementType.METHOD 应用于方法
ElementType.FIELD 应用于属性(包括枚举中的常量)
ElementType.CONSTRUCTOR 应用于构造函数
ElementType.Package 应用于包
ElementType.Parameter 应用于方法的形参
ElementType.local_variable 应用于局部变量
ElementType.AnnotationType 应用于注解的类型

>@Retention:注解指生命周期类型简介

生命周期类型 备注
RetentionPolicy.RUNTIME 由jvm加载,包含在类文件中,在运行时可以被获取到
RetentionPolicy.Class jvm加载时丢弃,包含在类文件中,默认值
RetentionPolicy.Source 编译时被丢弃,不包含在类文件中

@Doucument:指注解的元素可以被javadoc或类似的根据文档化

@Inherited:表明使用了@Inherited注解的元素,所标记的子类也拥有这个注解

自定义注解的示例

@RequestMapping(value = "/test") 
@TestData(pageComponent = "download/test")
public ModelAndView test(HttpServletRequest request) {
	return super.test(request,"测试");
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202302/16775694725945.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者