一、基础篇--1.1Java基础-自定义注解的场景及实现

JAVA项目中自定义注解的场景及实现 【代码】JAVA项目中自定义注解的场景及实现。 阅读详情

一、基础篇--1.1Java基础-自定义注解的场景及实现

自定义注解使用场景:

  • 类属性自动赋值,例如对上下文、传入参数等赋值
  • 验证对象属性完整性,例如,对参数的校验
  • 代替配置文件功能,像spring基于注解的配置
  • 可以生成文档,例如java 最早提供的注解。常用的有@param @return 等
  • 利用注解针对性做一些前置或者后置的处理,例如记录日志、检验权限等

自定义注解会需要元注解,此处先介绍元注解。

元注解包含四种:@Retention、@Inherited、@Documented、@Target

@Documented –注解是否将包含在JavaDoc中
@Retention –什么时候使用该注解
@Target –注解用于什么地方
@Inherited – 是否允许子类继承该注解

 1.)@Retention– 定义该注解的生命周期
  ●   RetentionPolicy.SOURCE : 在编译阶段丢弃。这些注解在编译结束之后就不再有任何意义,所以它们不会写入字节码。@Override, @SuppressWarnings都属于这类注解。
  ●   RetentionPolicy.CLASS : 在类加载的时候丢弃。在字节码文件的处理中有用。注解默认使用这种方式
  ●   RetentionPolicy.RUNTIME : 始终不会丢弃,运行期也保留该注解,因此可以使用反射机制读取该注解的信息。我们自定义的注解通常使用这种方式。

 2.)Target – 表示该注解用于什么地方。默认值为任何元素,表示该注解用于什么地方。可用的ElementType参数包括

  ● ElementType.CONSTRUCTOR:用于描述构造器
  ● ElementType.FIELD:成员变量、对象、属性(包括enum实例)
  ● ElementType.LOCAL_VARIABLE:用于描述局部变量
  ● ElementType.METHOD:用于描述方法
  ● ElementType.PACKAGE:用于描述包
  ● ElementType.PARAMETER:用于描述参数
  ● ElementType.TYPE:用于描述类、接口(包括注解类型) 或enum声明

 3.)@Documented–一个简单的Annotations标记注解,表示是否将注解信息添加在java文档中。

 4.)@Inherited – 定义该注释和子类的关系
     @Inherited 元注解是一个标记注解,@Inherited阐述了某个被标注的类型是被继承的。如果一个使用了@Inherited修饰的annotation类型被用于一个class,则这个annotation将被用于该class的子类。

自定义注解的定义:

  • Annotation型定义为@interface, 所有的Annotation会自动继承java.lang.Annotation这一接口,并且不能再去继承别的类或是接口.
  • 参数成员只能用public或默认(default)这两个访问权修饰 
  • 参数成员只能用基本类型byte,short,char,int,long,float,double,boolean八种基本数据类型和String、Enum、Class、annotations等数据类型,以及这一些类型的数组.要获取类方法和字段的注解信息,必须通过Java的反射技术来获取 Annotation对象,因为你除此之外没有别的获取注解对象的方法
  • 注解也可以没有定义成员, 不过这样注解就没啥用了
  • 自定义注解需要使用到元注解

 

 https://blog.youkuaiyun.com/PORSCHE_GT3RS/article/details/80304701 

posted @ 2018-12-25 15:37 ForeverYoungCoder 阅读( ...) 评论( ...) 编辑 收藏
自定义注解实现 看到别的博主写的几篇接绍注解相关的东西,觉得挺好的,mark一下 概述及JDK自带注解:http://blog.csdn.net/zen99t/article/details/49506919 自定义注解:http://blog.csdn.net/zen99t/article/details/49508447 解析注解:http://blog.csdn.net/zen99t/article/details/49512411 注解反射生成SQL语句:http://blog.csdn.net/zen99t/article/details/50351575 后面的文件是自己上传的对着博主实现加了注释的代码。主要就是自定义了注解,使用了自定义注解,然后利用java的反射机制根据注解生成不同的sql语句 立即下载

相关推荐

STM32CubeIDE中文注释变乱码终极解决方案:3步设置永久解决锟斤拷问题!

你是否在STM32CubeIDE中遇到过这样的崩溃场景?——精心编写的中文注释在重新生成代码后变成“锟斤拷”乱码,不仅影响代码可读性,反复修改更是浪费大量时间!作为STM32开发者,我曾被这个问题困扰许久,试过修改软件设置、工程编码却始终治标不治本。直到发现这个基于Java环境变量的终极解决方案,才彻底解决了中文乱码难题。

smart_boy__的博客 2957

自定义注解及应用场景

自定义注解及应用场景案例

找寻新世界还为时不晚,因为我的梦想是杨帆到日落之后的地方,尽管现今还无法实现, 但旧日的力量曾撼动天地。 2923

vue微前端qiankun框架学习到项目实战,基座登录动态菜单及权限控制

技术无关,独立开发,独立部署,增量升级,独立运行,微前端的核心目标是将巨石应用拆解成若干可以自治的松耦合微应用。

前端开发工程师 9747

自定义注解的场景及其实现

自定义注解的场景及其实现 自定义注解的场景 登陆、权限拦截、日志处理,以及各种Java框架,如Spring、Mybatis、Hibernate、JUnit 实现方法 Java自定义注解通过运行期间靠反射获取注解,实际开发过程中,如果我们需要获取某个方法的调用日志,可以通过AOP(动态代理机制) 对方法添加切面,通过反射获取方法包含的注解,如果包含了日志注解,就进行日志记录 Java反射实际...

qq_41877948的博客 1391

Python爬虫实战:用Selenium+ChromeDriver批量抓取政府网站政策文件(附完整代码)

本文详细介绍了使用Python的Selenium和ChromeDriver进行政府网站政策文件批量抓取的实战技巧。从环境配置、动态页面元素定位到分页机制破解和反爬虫策略,提供了完整的解决方案和代码示例,帮助开发者高效获取结构化政策数据。

weixin_42531710的博客 265

FPGA信号处理系列文章——分数倍插值抽取滤波器(一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 FPGA信号处理系列文章——分数倍插值抽取滤波器(一)前言信号流matlab模型频谱示意图分析总结 前言 变采样率滤波器不仅仅存在整数倍插值和整数倍抽取的情况,还会存在分数倍插值抽取的情况。那这种情况下要怎么处理呢 信号流 分数倍插值抽取滤波器的信号流是什么?信号先进行插值,再进行FIR滤波,最后进行抽取 matlab模型 %signal 定点化数据输入 coeff_val_fir = importdata('fir.coe'); si

gzy0506的博客 1万+

自定义注解及使用场景

Java自定义注解一般使用场景为:自定义注解+拦截器或者AOP,使用自定义注解来自己设计框架,使得代码看起来非常优雅。 基本知识 在Java中,注解分为两种,元注解和自定义注解。 三. 常用元注解 Target:描述了注解修饰的对象范围,取值在java.lang.annotation.ElementType定义,常用的包括: METHOD:用于描述方法 PACKAGE:用于描述包 PARAMETER:用于描述方法变量 TYPE:用于描述类、接口或enum类型 Retention: 表示注解保

任意门的博客 3309

基于ArduPilot的旋翼式无人机飞行器开发系列(二,学习路线)

一,热爱 作为一名耿直的技术男,在这里我只想说一句,热爱是可持续学习的第一要素,也只有热爱才能让你坚持到最后。 至于最后能得到什么,只有你自己知道。常说书中自有颜如玉,书中自有黄金屋。如果你是为了颜如玉,我相信大多数颜如玉做不了你的红颜知己。如果是为了黄金屋,当你持续投入时间和金钱却看不到回报的时候,相信退堂鼓早已隆隆作响。 我给自己的信条就是为当下努力工作,为将来持续学习。当前飞控行业并没有爆发,如果想赚块钱,去互联网汽车,去VR/AR吧,去元宇宙吧。 那么我热爱...

从0到1,突破自己 1667

Java自定义注解及使用场景

Java自定义注解及使用场景

gy_cjz的博客 1752

48、基于头部电信号和触觉的人机交互技术研究

本文探讨了基于头部电信号控制决策和触觉感知的人机交互技术。通过EEG信号采集与ANN模型(TDNN/PRNN)分析,实现对用户意图的识别;同时利用触觉传感接口识别操作员有意接触,提升人机协作安全性。研究涵盖系统设计、数据处理流程、实验结果及技术拓展方向,并展望了两种技术在工业、医疗与智能家居等领域的融合应用前景。

i1j2k的博客 101

UNet 改进(27):结合SCSE注意力机制的UNet网络实现

本文介绍了一种结合SCSE注意力机制的改进UNet网络架构。该网络在保持UNet经典编码器-解码器结构基础上,通过在每层添加SCSEBlock模块,融合了通道注意力和空间注意力机制。通道注意力通过全局池化和1×1卷积生成通道权重,空间注意力则产生空间权重图,二者相加增强关键特征响应。该设计具有以下优势:1)保持原始UNet的多尺度特征提取能力;2)通过注意力机制提升对重要区域的关注度;3)计算效率高,仅增加少量参数。测试显示网络能保持输入输出分辨率不变,适用于医学图像分割等像素级预测任务。完整代码实现了5层

2401_82355416的博客 415

Java 源文件注解场景_一、基础篇--1.1Java基础-自定义注解的场景及实现

自定义注解使用场景:类属性自动赋值,例如对上下文、传入参数等赋值验证对象属性完整性,例如,对参数的校验代替配置文件功能,像spring基于注解的配置可以生成文档,例如java 最早提供的注解。常用的有@param @return 等利用注解针对性做一些前置或者后置的处理,例如记录日志、检验权限等自定义注解会需要元注解,此处先介绍元注解。元注解包含四种:@Retention、@Inherited、@...

weixin_35224206的博客 187

5大绝招破解.NET Core本地IP访问难题——为什么你的调试总卡在localhost?

摘要: 本文详解5种本地IP访问.NET Core应用的方法,涵盖基础IP绑定(0.0.0.0)、防火墙配置、IIS Express优化、远程调试及ngrok内网穿透。关键步骤包括修改launchSettings.json、PowerShell授权端口、SSH远程调试和ngrok外网映射,并提示常见陷阱(如未绑定IP、防火墙拦截)。通过“魔法法则”组合,可实现局域网/外网高效访问,适用于开发测试场景。 (字数:148)

java专栏 955

Java实现自定义注解

前言      上一篇文章介绍了注解的一些基本知识,这次来介绍下如何实现自定义注解及注解如何使用。 正文      注解是一种能被添加到java源代码中的元数据,方法、类、参数和包都可以用注解来修饰。注解可以看作是一种特殊的标记,可以用在方法、类、参数和包上,程序在编译或者运行时可以检测到这些标记而进行一些特殊的处理。...

全力奔跑,梦在彼岸 10万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java自定义注解

注解分类(根据Annotation是否包含成员变量,可以把Annotation分为两类):标记Annotation:没有成员变量的Annotation;这种Annotation仅利用自身的存在与否来提供信息元数据Annotation:包含成员变量的Annotation;它们可以接受(和提供)更多的元数据;

weixin_67450855的博客 1万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

java自定义注解解析及相关场景实现

注解(Annotation)是java1.5之后提供的一种语法。其主要作用是编译检查(比如@override)和代码分析(通过代码中添加注解,利用注解解析器对添加了注解的代码进行分析,获取想要的结果,一般自定义的注解都是这一种功能)。 1.1 JDK提供的注解 JDK提供的注解最常用的是3个,@Override,@Deprecated和@SuppressWarnings. 1.1.1...

1万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

java注解详情及自定义注解和使用场景

java注解详情及自定义注解和使用场景注解概念jdk预定义的注解jdk提供了4个元注解JDK中给我们提供的4个元注解1.@Target:描述当前注解能够作用的位置2.@Retention: 描述注解被保留到的阶段3.@Documented:描述注解是否被抽取到JavaDoc api中4.@inherited:描述注解是否可以被子类继承自定义注解注解的样式注解的本质自定义注解自定义注解定义studnet1类测试注解应用场景场景一:自定义注解+拦截器 实现登录校验场景二:自定义注解+AOP 实现接口执行时间打印

weixin_42371621的博客 1867

关于自定义注解的使用和场景

关于注解的作用、以及自定义注解的使用和场景一、注解的作用二、创建自定义注解2.1 基本定义2.2 示例 -- 类级别的注解2.3 示例 -- 方法级别的注解2.4 示例 -- 字段属性级别的注解三、注解的使用场景3.1 JDK中的常用注解3.2 Spring中的常用注解3.3 自定义注解的使用场景3.3.1 AOP + @Log 23540 46613 一、注解的作用 注解是一种元数据形式。即...

诗和远方,任重道远 3929

Java 自定义注解及使用场景

Java 自定义注解及使用场景 15/100 发布文章 qq_21898647 未选择文件 new Java自定义注解一般使用场景为:自定义注解+拦截器或者AOP,使用自定义注解来自己设计框架,使得代码看起来非常优雅。 本文将先从自定义注解的基础概念说起,然后开始实战,写小段代码实现自定义注解+拦截器,自定义注解+AOP。 1 什么是注解(Annotation) Java注解是什么,以下是引用自维基百科的内容 java注解又称Java标注,是JDK5.0版本开始支持加入源代码的特殊语法元数据。Java语言

Learning_xzj的博客 2443

谈谈 Java 中自定义注解及使用场景

作者:快给我饭吃www.jianshu.com/p/a7bedc771204Java自定义注解一般使用场景为:自定义注解+拦截器或者AOP,使用自定义注解来自己设计框架,使得代码看起来非...

Java知音 1978

JAVA基础:注解与反射的使用方法与场景

注解与反射的使用方法与场景

BudingCode的博客 4179

Java自定义注解详解

/ 注解属性声明@MyAnnotation(value = "测试", name = "张三", age = 25, roles = {"admin", "user"})// 方法实现// 当只有value属性需要设置时,可以简写@MyAnnotation("测试")// 方法实现// 字段验证注解// 可验证的接口Java 8引入了@Repeatable元注解,允许在同一元素上多次使用同一注解。// 单个角色注解// 角色容器注解使用合适的保留策略。

yk_dflkg的博客 2988

Java自定义注解实现

Java自定义注解实现

qq_16268979的博客 3526

一文详解Java自定义注解及使用场景

Java自定义注解是一种元数据,可以在Java程序中用来提供程序中的元数据信息。自定义注解允许开发人员在代码中嵌入元数据,这些元数据可以在编译时和运行时被读取和处理。Java注解是一种元数据,可以在代码中添加注释和标记,用于提供额外的信息和指示。它是Java开发中的一项重要技术,可以简化开发流程、提高代码的可读性和可维护性。本文将详细介绍Java注解的概念、使用方法以及如何自定义注解,以及注解在框架开发和代码分析中的应用。

攻城狮不是猫 3896
上一篇: 一、基础篇--1.1Java基础-反射的用途和实现
下一篇: 一、基础篇--1.1Java基础-HTTP请求的GET与POST方式的区别【转】
口德尔
博客等级 码龄14年 3粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值