Java注解的作用

注解介绍

Java注解是从Java5开始添加到java中的。

Java的注解可以说成是一种标记,标记一个类或者一个字段,经常是和反射,AOP结合起来进行使用。一般是定义一个注解,如果某个被注解的类或者字段符合条件,就执行某些能力。

元注解

定义其他注解的注解就是元注解。

例如Override注解就不是一个元注解,是通过元注解定义出来的。

它由两个元注解定义,一个是@Target,另一个是@Retention,这两个就是元注解。

元注解有四个:

@Target 表示被定义的注解可以用于什么地方

@Retention 表示在什么时期可以保存该注解的信息

@Documented 将该注解包含在javadoc中

@Inherited 允许子类继承父类的注解

一般@Target被使用的是最多的。

@Retention

指定被修饰的注解的生命周期,也就是在源代码、编译、运行这三个时期中的哪个时期保留信息。有三个枚举值:SOURCE、CLASS、RUNTIME。默认为CLASS。

@Target

指定被修饰的注解可以应用在哪个元素类型上,例如类、方法、字段等。

@Documented

该注解的信息会出现在API文档中,方便开发者查阅。

@Inherited

被该注解修饰的注解可以被子类继承。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/837898.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式开发四大平台介绍

MCU(Micro Control Unit)四大平台介绍) 单片机优点:缺点:总结: DSP digital signal processingARM优点:缺点:总结 FPGA什么事FPGA(集成元件库)FPGA开发方法—…

Mysql的数据如何导入mongdb

将MySQL的数据导入MongoDB,有多种方法可以实现。以下是其中的一些常见方法: 使用可视化工具MongoVUE: 选中MongoVUE中的数据库节点,点击Database菜单,选择Import->from MySql。 填入相关参数,即可连接…

【微记录】dmidecode是干什么的?常用来做什么?如何查看系统支持的PCIe版本号(本质:标准,Desktop Management Interface)

是什么 dmidecode 是一个在 Linux 系统提取硬件信息的命令行工具。DMI 代表桌面管理接口(Desktop Management Interface),是一种标准,收集桌面计算机的硬件信息,包括系统制造商、序列号、BIOS 信息、系统资产标签等。…

10分钟快速掌握正则表达式

一、背景 因为工作的时候要做一些表单校验和精准搜索。所以写下这篇文章。 当涉及到正则表达式的理解和使用时,尽管它们提供了强大的文本处理能力,但其语法的复杂性常常让人倍感挑战。即使是对经常使用正则表达式的专业开发者来说,也常常会因…

在数据挖掘中,如何使用grep和正则表达式从CSV文件中提取特定字段?

在数据挖掘中,你可以使用grep和正则表达式来提取CSV文件中的特定字段。以下是一些步骤和例子,展示如何进行操作: 确定要提取的字段:首先,你需要知道要提取的数据在CSV文件中的确切位置或者它的特征(比如&am…

计算机毕业设计Python+Spark知识图谱酒店推荐系统 酒店评论情感分析 酒店价格预测系统 酒店可视化 酒店爬虫 neo4j知识图谱 深度学习

广东科技学院毕业设计(论文)开题报告 设计(论文)名称 民宿数据可视化分析系统的设计与实现 设计(论文)类型 C 指导教师 朱富裕 学 院 计算机学院 专 业 数据科学与大数据技术 姓 名 庄贵远 学 号 2020135232 班 级 20大数据本科2班 选题依据(包括项目研究的…

Nginx 生产环境部署的最佳实践

你好呀,我是赵兴晨,文科程序员。 最近一段时间,我一直在和大家一起探讨Nginx的相关话题。期间,我收到了很多小伙伴的私信,他们好奇地问我:在生产环境中,Nginx应该如何配置? 他们在…

文件加密与解密技术实战:使用Java实现AES/CBC/PKCS5Padding加密算法

文件加密与解密技术实战:使用Java实现AES/CBC/PKCS5Padding加密算法 在数据保护和信息安全领域,文件加密是一项至关重要的技术。本文将通过一个实际的Java示例项目,深入浅出地介绍如何利用AES加密标准中的CBC模式及PKCS5Padding填充方式&…

欧洲风景(地理)

1.尼斯湖 尼斯湖亦译内斯湖,位于英国苏格兰高原北部的大峡谷中,湖长39公里,宽2.4公里。面积并不大,却很深。传说这儿住着一只水怪,因此吸引了大量游客。 2.伦敦塔桥 伦敦塔桥是从英国伦敦泰晤士河口算起的第一座桥(泰…

MySql创建树结构递归查询存储过程

原文链接:https://www.cnblogs.com/f2flow/p/6001889.html DROP PROCEDURE IF EXISTS pro_getChildrenList; CREATE PROCEDURE pro_getChildrenList(IN id VARCHAR(100),IN idFieldName VARCHAR(100),IN parentIdFieldName VARCHAR(100),IN tableName VARCHAR(100)…

【源码】Spring Data JPA原理解析之Repository的自动注入(一)

Spring Data JPA系列 1、SpringBoot集成JPA及基本使用 2、Spring Data JPA Criteria查询、部分字段查询 3、Spring Data JPA数据批量插入、批量更新真的用对了吗 4、Spring Data JPA的一对一、LazyInitializationException异常、一对多、多对多操作 5、Spring Data JPA自定…

SpringBoot解决CORS跨域——WebMvcConfigurationSupport

前端请求后端报错了。 状态码:403 返回错误:Invalid coRs request 增加配置类WebMvcConfig Configuration public class WebMvcConfig extends WebMvcConfigurationSupport {Overridepublic void addCorsMappings(CorsRegistry registry) {// 允许跨域…

Leetcode2105. 给植物浇水 II

Every day a Leetcode 题目来源:2105. 给植物浇水 II 解法1:双指针 设 Alice 当前下标为 i,初始化为 0,水量为 a,初始化为 capacityA;Bob 当前下标为 j,初始化为 n-1,水量为 b&am…

JeeSite Vue3:前端开发页面如何动态设置菜单展示模式?

推荐阅读: JeeSite Vue3:前端开发的未来之路(更新版) 随着技术的飞速发展,前端开发技术日新月异。在这个背景下,JeeSite Vue3 作为一个基于 Vue3、Vite、Ant-Design-Vue、TypeScript 和 Vue Vben Admin 的前端框架,引…

Java线程生命周期:Java线程生命周期全景解读

1. 线程生命周期概述:不仅仅是状态转换 在多线程编程中,理解线程的生命周期对于编写有效、高效的代码至关重要。线程生命周期通常描述了线程从创建到死亡的一系列状态变化过程,但其实不仅仅局限于这些状态的简单转换。线程生命周期的理解应该…

应急响应-Windows-挖矿病毒

随着虚拟货币市场的繁荣,挖矿病毒已成为网络安全领域一大挑战。该类病毒利用计算机资源进行加密货币的挖掘,给个人用户和企业网络带来了严重的安全风险。本文将针对挖矿病毒的应急响应和防范措施进行分析和总结。 一.判断挖矿病毒 服务器突然发现CPU资…

02-结构型设计模式(共7种)

1. Adapter(适配器模式) 适配器模式是一种结构型设计模式,它允许将一个类的接口转换成客户端所期望的另一个接口。这种模式通常用于解决接口不兼容的情况,使得原本由于接口不匹配而无法工作的类可以一起工作。 在 C 中,适配器模式可以通过类适…

Elasticsearch分词及其自定义

文章目录 分词发生的阶段写入数据阶段执行检索阶段 分词器的组成字符过滤文本切分为分词分词后再过滤 分词器的分类默认分词器其他典型分词器 特定业务场景的自定义分词案例实战问题拆解实现方案 分词发生的阶段 写入数据阶段 分词发生在数据写入阶段,也就是数据索…

AVL树、红黑树

数据结构、算法总述:数据结构/算法 C/C-CSDN博客 AVL树 定义 空二叉树是一个 AVL 树如果 T 是一棵 AVL 树,那么其左右子树也是 AVL 树,并且 ,h 是其左右子树的高度树高为 平衡因子:右子树高度 - 左子树高度 创建节点…

关于大语言模型的论文和学习资源集合

Milestone Papers DatekeywordsInstitutePaperPublication2017-06TransformersGoogleAttention Is All You NeedNeurIPS2018-06GPT 1.0OpenAIImproving Language Understanding by Generative Pre-Training2018-10BERTGoogleBERT: Pre-tra