首页 > 其他分享 >自定义注解时常用注解

自定义注解时常用注解

时间:2023-05-29 11:55:31浏览次数:40  
标签:文件 常用 Target 自定义 Inherited 注解 ElementType class

@Target

@Target:注解的作用目标

@Target(ElementType.TYPE)——接口、类、枚举、注解
@Target(ElementType.FIELD)——字段、枚举的常量
@Target(ElementType.METHOD)——方法
@Target(ElementType.PARAMETER)——方法参数
@Target(ElementType.CONSTRUCTOR) ——构造函数
@Target(ElementType.LOCAL_VARIABLE)——局部变量
@Target(ElementType.ANNOTATION_TYPE)——注解
@Target(ElementType.PACKAGE)——包,用于记录java文件的package信息
@Retention

@Retention作用是定义被它所注解的注解保留多久,一共有三种策略,定义在RetentionPolicy枚举中.

从注释上看:
source:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃;被编译器忽略

class:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期

runtime:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在

这3个生命周期分别对应于:Java源文件(.java文件) —> .class文件 —> 内存中的字节码
@Inherited

@Inherited 注解修饰的注解,如果作用于某个类上,其子类是可以继承的该注解的。反之,如果一个注解没有被 @Inherited注解所修饰,那么他的作用范围只能是当前类,其子类是不能被继承的。
@Documented

作用:生成文档信息的时候保留注解,对类作辅助说明
————————————————
版权声明:本文为CSDN博主「踏浪行」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41730186/article/details/127551159

标签:文件,常用,Target,自定义,Inherited,注解,ElementType,class
From: https://www.cnblogs.com/xing-nb/p/17440046.html

相关文章

  • Hive的用户自定义函数实现步骤与流程
    参考答案:1、如何构建UDF?用户创建的UDF使用过程如下:第一步:继承UDF或者UDAF或者UDTF,实现特定的方法;第二步:将写好的类打包为jar,如hivefirst.jar;第三步:进入到Hive外壳环境中,利用addjar/home/hadoop/hivefirst.jar注册该jar文件;第四步:为该类起一个别名,createtemporaryfunctionmylen......
  • Flask010_自定义过滤器
    在模板中,通过过滤器实现对变量的处理。过滤器本质上是Python的函数,它会把被过滤器的值当作第1个参数传送给函数。自定义过滤器定义1defdatetime_format(value,format="%Y-%m-%d%H:%M"):2returnvalue.strftime(format)345app.add_template_filter(date......
  • 常用的操作数组的方法
    一:操作方法:1.增.push()从后加.unshift()从前加.splice()从指定位置加 第一个参数:开始的位置,第二个参数:要删除的元素数量,后面的参数:插入的元素(若想插入多个,用逗号分开)letcolors=["red","green","blue"];letremoved=colors.splice(......
  • Linux工作原理2常用基本命令和目录层次结构
    本章是对本书中你将遇到的Unix命令和工具的指南。为什么是Unix命令?这不是一本关于Linux如何工作的书吗?当然是的,但Linux在本质上是一种Unix风格。在本章中,你会看到Unix这个词,而不是Linux,因为你可以把你学到的东西直接带到BSD和其他Unix风味的系统中去。我试图避免涉及太多Linux特......
  • Java学习:使用MyBatis Plus的分页插件和QueryWrapper结合自定义mapper xml实现多表关联
     Vo:/***用来返回给前端展示列表的数据实体*/@DatapublicclassCourseVoimplementsSerializable{privatestaticfinallongserialVersionUID=1L;privateStringid;privateStringtitle;privateStringsubjectParentTitle;private......
  • Appium自动化(14):Appium常用操作之app操作
    APP操作方法:appium支持对手机上的app进行管理和操作,有如下方法:1、install_app(self,app_path,**options):安装app,app_path为安装包路径2、remove_app(self,app_id,**options):卸载app,app_id为app包名3、is_app_installed(self,bundle_id):检查app是否有安装bundle_id为app包名......
  • Appium自动化(15):Appium常用操作之混合应用webview页面操作--待补充!
    上下文操作:在appium中,对于混合应用,需要进行WebView页面和原生应用的切换 常用的方法如下:1、context(self)/current_context(self):返回当前会话的当前上下文,context可以理解为可进入的窗口。对于原生应用,可用的context和默认context均为“NATIVE_APP”,对于webvi......
  • git常用命令介绍
    gitmergeGitmerge是一种用于将一个分支的更改合并到另一个分支的操作。示例:A---B---C[master]\D---E---F[feature-branch]在这个示例中,master分支上有三个提交(标记为A、B和C),而feature-branch分支上有三......
  • Mybatis-plus中自定义的sql语句调用QueryWrapper实现查询
     一、引言MP自带的条件构造器虽然很强大,有时候也避免不了写稍微复杂一点业务的sql,那么今天说说MP怎么自定义sql语句吧。 二、具体实现使用注解实现:在我们Mapper接口中定义自定义方法即可。/***@Date:2019/6/1014:40*@Description</span>:User对象持久层*/p......
  • Appium自动化(16):Appium常用操作之H5页面操作 --待补充!
    手机chrome浏览器操作:手机端chrome浏览器一般用于打开H5手机版网站,它的操作方式与PC端的浏览器操作(即selenium对浏览器的操作)是一模一样的,由于切换后的WebView页面也属于网页下述的方法中部分支持在webview页面中使用:1、get(self,url):打开网站,url参数为url地址,必须包含http/h......