常见原注解:@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited

Spring相关注解总结 @Configuration 1.将当前类标识为配置类 eg: package com.jt.config; import com.jt.demo.User; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration //将当前类标识为配置类 public class SpringConfig {// 阅读详情

在Java中,特别是使用Spring框架时,注解(Annotations)是一种强大的工具,用于在代码中添加元数据,这些元数据可以被编译器或运行时环境读取和处理。你提到的这些注解(@Target, @Retention, @Documented, @Inherited, @ComponentScan)在Spring和Java注解系统中扮演着不同的角色。下面我将逐一解释这些注解的作用和它们如何一起工作(尽管@ComponentScan并不直接与其他四个注解一起工作于同一上下文,但我会解释它在Spring中的作用)。

  1. @Target(ElementType.TYPE):
    • @Target注解用于指定其他注解可以应用的Java元素类型。在这个例子中,ElementType.TYPE表明该自定义注解(虽然你没有直接给出这个自定义注解的名称)只能被应用于类、接口(包括注解类型)或枚举声明上。
  2. @Retention(RetentionPolicy.RUNTIME):
    • @Retention注解指定了其他注解的保留策略。RetentionPolicy.RUNTIME意味着注解不仅被保留在.class文件中,而且在运行时可以通过反射被读取。这对于Spring等框架在运行时动态处理注解非常关键。
  3. @Documented:
    • @Documented注解表明被该注解标注的其他注解应该被javadoc或类似的工具文档化。简单来说,它告诉工具这个注解是公共API的一部分,应该被包含在生成的文档中。
  4. @Inherited:
    • @Inherited注解表示如果一个注解类型被声明为@Inherited,那么它会被自动继承。当注解类型被用于一个类时,如果该类没有声明此注解,但是其父类声明了此注解,那么该类也被认为声明了此注解。这在处理配置类继承时特别有用。
  5. @ComponentScan:
    • @ComponentScan是Spring框架中的一个注解,用于指定Spring在创建ApplicationContext时应该扫描哪个包以查找被@Component、@Service、@Repository、@Controller等注解标记的类,并将这些类注册为Spring应用上下文中的bean。它并不直接与其他四个注解一起工作于同一上下文,但它是Spring框架中用于自动发现和注册bean的关键机制之一。

综上所述,虽然@Target, @Retention, @Documented, @Inherited通常用于定义自定义注解的元注解(即注解的注解),而@ComponentScan是Spring框架中用于自动扫描和注册bean的注解,但它们共同构成了Java和Spring中注解系统的重要部分。

切面编程-元注解 常见的元注解@Inherited,@Retention,@Target理解 阅读详情

相关推荐

Java 元注解 @Retention 与 @Target 实战:3种生命周期与10种目标类型详解

本文深入解析Java元注解@Retention与@Target的实战应用,详细介绍了3种生命周期策略(SOURCE、CLASS、RUNTIME)和10种目标类型的用法。通过实际案例展示如何构建自定义注解系统,并分享高级技巧与最佳实践,帮助开发者高效利用注解提升代码质量与开发效率。

weixin_33787529的博客 367

JAVA注解基础

* 注解在开发中常被我们利用到反射机制中,辅助反射机制做更多灵活的操作* 注解在如今JAVA流行的框架中被大量的营养,简化了以前繁琐的配置工作·* 注解可以在:* 类上,属性上,方法上,构造器上,以及参数上使用* 可以通过java内置的注解@Target来说明当前注解可以应用的位置,对应的值被定义在ElementType上* 例如:* 当可以用于多个位置时,需要定义成数组的方式包含所有ElementType的值,即"{}"包含*/@Target({ElementType.TYPE,ElementType.F

Melody_1943的博客 1639

@Target,ElementType各枚举常量的含义

ElementType枚举常量的含义: ANNOTATION_TYPE  注解类型声明 CONSTRUCTOR         构造方法声明 FIELD                          属性、字段声明(包括枚举常量) LOCAL_VARIABLE       局部变量声明 METHOD                     方法声明 PACKAGE               ...

Top5软件工程硕士,先后在京东、字节从事多年Java后端开发、实时和离线大数据开发 6599

java元注解 @Target注解用法

@Target:    @Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标。   作用:用于描述注解的使用范围(即...

wienne0417的专栏 974

trae CN 配置ida的mcp教程

本文介绍了在TraeCN中配置IDA Pro MCP服务的完整步骤:1)准备IDA Pro 9.0+和Python 3.11+环境;2)安装MCP服务端并配置插件;3)生成MCP配置文件;4)在TraeCN中添加HTTP类型MCP服务(默认端口13337);5)测试连接。重点说明了HTTP配置方式的操作流程,包括手动启动服务、正确填写JSON配置等关键环节。

2401_87915504的博客 1957

不懂就学之挑战成为WorldQuant Brain顾问的第1天

WorldQuant Brain 是由 WorldQuant 公司开发的一个基于人工智能和机器学习的量化研究平台,旨在帮助量化研究员发现和构建有效的投资策略。WorldQuant 是一家全球领先的量化投资公司,专注于利用数据科学、技术和金融工程开发量化交易策略。

Yanbang1的博客 8391

Java注解之 @Target、@Retention、@Documented简介

先来看一个Spring中的一个常用注解package org.springframework.stereotype; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.ann...

liang100k的专栏 7万+

电源设计之路-Buck电源环路设计(Type IIIA&Type IIIB)

在对Buck 环路补偿Type II拓扑进行仿真测试后,对瞬态波形以及伯德图已经有感官上的认知;然后再进一步对Type IIIA & IIIB进一步的学习;进一步了解Cout电容量和ESR对环路补偿的影响;认识到一个电源,不是参考Datasheet上的参数进行选值就行;更需要根据实际情况,功率电感值、输出电容值以及不同电容会有不一样的ESR,这些都会对环路参数产生一定的影响

2503_92839756的博客 759

java常见的注解之 @Target、@Retention、@Documented、@Component

// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package org.springframework.stereotype; import java.lang.annotation.Documented; import java....

erdong45684455的博客 1万+

从零到一:YOLOv11高帧率模型在RDK X5上的ONNX转换与部署实战

本文详细介绍了将最新的YOLOv11高帧率模型部署到地平线RDK X5开发板的完整实战流程。内容涵盖从PyTorch模型导出ONNX、地平线工具链环境配置与模型量化编译,到编写高效的板端推理代码,并针对高帧率目标进行了后处理优化。通过实战避坑指南,帮助开发者在RDK X5上实现30FPS以上的实时目标检测。

weixin_29089057的博客 141

华为路由器静态路由配置实战:从零搭建企业级网络环境(含常见错误排查)

本文以真实企业组网案例为基础,详细解析华为路由器静态路由的实战配置流程。内容涵盖从网络拓扑规划、IP地址分配到具体的`ip route-static`命令配置,并重点讲解了缺省路由、浮动路由等进阶应用。文章还提供了系统化的排错指南,帮助网络工程师规避回程路由缺失、子网掩码错误等常见问题,是掌握企业级网络搭建与维护的实用指南。

weixin_29313817的博客 90

注解@Target和@Retention的作用

注解@Target和@Retention可以用来修饰注解,是注解的注解,称为元注解。 @Target :Target翻译中文为目标,即该注解可以声明在哪些目标元素之前,也可理解为注释类型的程序元素的种类。 ElementType.PACKAGE:该注解只能声明在一个包名前。 ElementType.ANNOTATION_TYPE:该注解只能声明在一个注解类型前。 ElementType.TYPE:该注解只能声明在一个类前。 ElementType.CONSTRUCTOR:该注解只能声明在一...

Zero_uou的博客 2万+

SAP子公司财务账套配置实战:从公司代码到记账期间变式的关键步骤

本文详细介绍了为SAP子公司快速配置财务账套的实战步骤。通过复用母公司成熟配置,重点阐述了从创建公司代码、关联控制范围到分配记账期间变式的核心流程,帮助顾问在一两个小时内完成核心骨架搭建,实现高效集团财务管控。

cake8的博客 167

谈谈@Target、@Retention、@Documented、@Inherited注解的用法

前言 @Target、@Retention、@Documented、@Inherited注解都是作用在注解上的注解,java把他们亲切的叫做元注解,这四个注解正是Java的四大元注解。 @Target注解 @Target注解算是比较常见的注解了,@Target注解用于描述注解的使用范围,优雅的说就是使用了@Target去定义一个注解,那么可以决定定义好的注解能用在什么地方。 为了显得身临其境的效果...

宜春 1607

基于FPGA 外置qspi Flash的读写

fpga上实现flash读写代码

weixin_43498765的博客 4956

博途PLC如何建立与笔记本电脑端的连接?(新手必会)

对S7-1500PLC下载硬件组态或程序,需要建立PC与PLC的连接。 由于S7-1500CPU都具有PN端口,因此建立PC与S7-1500PLC的连接通常使用工业以太网来实现。 1.使用网线连接PC-PLC 使用网线,一端连接PC的以太网卡端口,另一端连接S7-1500CPU的PN端口。 2.设置本机IP地址 2.1 确认本机要设置的IP地址段 本机IP地址要和PLC程序组态IP地址段前三位保持一致,后一位使用组态中没有用到的IP地址段。如下图所示。 那么看了这个图片应该就知道了,地址应该设置成192.

weixin_42430971的博客 1万+

Java 四大元注解@Target、@Retention、@Documented、@Inherited

什么叫做元注解?? ==》用于注解【注释】的注解就叫做元注解 注解叫做:元数据,标签,注释 元注解[数据]--->注解--->标记代码 1.@Target :用于描述注解的使用范围,也就是说使用了@Target去定义一个注解,那么可以决定定义好的注解能用在什么地方 2.@Retention:用于描述注解的生命周期,也就是说这个注解在什么范围内有效,注解的生命...

少年单排,记录点滴 1082

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java注解之 @Target、@Retention、@Documented详解

一、前言 想了解下Spring框架里面的注解一些用法和配置,下面以@RestController注解为例子 package org.springframework.web.bind.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java...

Thinkingcao的专栏 1795

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited注解

Java中的注解可以用于提供元数据信息,它们可以用来描述类、方法、字段、参数等程序元素的特征。@Target、@Retention、@Documented和@Inherited等注解都是预定义的注解,它们可以用于指定注解的应用范围、生命周期、文档化等特性。@Inherited注解表示被它修饰的注解具有继承性,即如果一个类声明了被@Inherited修饰的注解,那么它的子类也将具有这个注解。ElementType.TYPE_USE:可以用于使用类型的任何语句中(Java 8新增)。

weixin_46432232的博客 2292

【Java注解】@Retention的作用和@Target注解的说明以及使用方法

本文目录 一、注解说明 二、@Target注解 三、@Retention注解 四、自定义注解 一、注解说明 注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据。 定义注解时,会需要一些元注解(meta--annotation),如@Target和@ Retention,这两个特性是我们必须要定义清楚的,一个是Target...

No8g攻城狮的博客 8846

@Target、@Retention、@Documented注解简介

@Target、@Retention、@Documented注解简介 源码样例: @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited public @interface MthCache { String key(); } @Target 注解 功能:指明了修饰的这个注解的使用范围,即被描述的注解可以用在哪里。 ElementType的取值包含以下几种: TYPE:类,接口或...

u010486679的专栏 1274

@Target、@Retention、@Documented元注解简介

@Target、@Retention、@Documented元注解简介元注解@Documented@Retention@Target 元注解 首先,用来修饰注解的注解被称为元注解,如以下代码中的@Documented、@Target、@Retention就是元注解 @Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE}) public @interface Controller { } @Documente

lql_yy的博客 854

Springboot常用注解之@Target,@Documented和@Retention

1. @Target Target设定注解使用范围,通过ElementType来指定注解可使用范围的枚举集合 。 @Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE) public @interface Target { ElementType.ANNOTATIO...

ccr1001ccr1001的博客 3259

@Target、@Retention、@Documented、@Inherited注解的超详细分析

@Target、@Retention、@Documented、@Inherited注解的超详细分析

Theoweb3|优快云 wwh1st|GitHub theoweb3|TG theo_liu|X theoweb33|gmail wwh9th 华语区Web3基础设施建设者;Web3开源社区共建者;博客沉淀去中心化等各类工程经验。 518

Java元注解详解:@Target、@Retention、@Documented、@Inherited实战

注解是Java开发中广泛使用的语法元数据,而元注解则是约束注解行为的核心规则。理解@Target、@Retention、@Documented、@Inherited四个内置元注解,是掌握自定义注解与框架注解机制的基础。@Target决定注解能修饰哪些程序元素,@Retention控制注解保留到源码、字节码还是运行时,直接关联反射读取的可行性;@Documented影响Javadoc展示,@Inherited则规定类继承时的注解传播逻辑。从Spring的@Autowired到MyBatis的@Mapper,框

weixin_31742871的博客 238

JAVA基础:java元注解之@Target、@Retention、@Documented、@Inherited详解

一、元注解 元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元注解: @Target @Retention @Document @Inherited 这些类型和它们所支持的类在java.lang.annotation包中可以找到。下面我们看一下每个元注解的作用和相应分参数的使用说明。 1.1 @Target注解 1.1.1 定义: @Target说明了Annotation所修饰的

weixin_40571937的博客 431
上一篇: Spring IOC 创建Bean过程
下一篇: 自定义SpringBootApplication、Java代码启动Tomcat
学博成
博客等级 码龄17年 915粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值