注解(Annotation)(一)

2024-06-16 21:20
文章标签 注解 annotation

本文主要是介绍注解(Annotation)(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java 注解( Annotation )又称 Java 标注,是 JDK5.0 引入的一种注释机制。
Java 语言中的类、 构造器、 方法、成员变量、参数等都可以被注解进行标注。

自定义注解 --- 格式

自定义注解就是自己做一个注解来使用。

public @interface 注解名称{public 属性类型 属性名() default 默认值;//Java支持的数据类型基本上都支持}
//自定义注解
public @interface MyTest1{String a();boolean b() default true;String[] c();}//应用
@MyTest1(a = "AA", c = {"CA", "CB"})
public class AnnotationTest1{...}

注解的作用

1. Java 中类、方法、成员变量做标记,然后进行特殊处理 ,至于到底做何种处理由业务需求来决定。
2.例如: JUnit 框架中,标记了注解 @Test 的方法就可以被当成测试方法执行,而没有标记的就不能当成测试方法执行。

特殊属性

1. value属性,如果只有一个value属性的情况下 使用value属性的时候可以省略value名称不写!!
2. 但是如果有多个属性,  且多个属性没有默认值,那么value 名称 是不能省略的。
public @interface MyTest2{String value01();}//应用
@MyTest1("value")
public class AnnotationTest2{...}
public @interface MyTest2{String value01();int age default 20;}//应用
@MyTest1("value")
public class AnnotationTest2{...}

注解的原理

元注解

元注解:注解注解的注解。

元注解有两个:

@Target: 约束自定义注解只能在哪些地方使用

@Target可使用的值定义在ElementType枚举类中,常用值如下:

TYPE,类,接口
FIELD, 成员变量
METHOD, 成员方法
PARAMETER, 方法参数
CONSTRUCTOR, 构造器
LOCAL_VARIABLE, 局部变量

@Retention:申明注解的生命周期

@Retention可使用的值定义在RetentionPolicy枚举类中,常用值如下:

SOURCE: 注解只作用在源码阶段,生成的字节码文件中不存在
CLASS:  注解作用在源码阶段,字节码文件阶段,运行阶段不存在,默认值.
RUNTIME:注解作用在源码阶段,字节码文件阶段,运行阶段(开发常用)
//          类,接口            成员变量
@Target({ElementType.TYPE, ElementType.METHOD})
//注解作用在源码阶段,字节码文件阶段,运行阶段(开发常用)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyTest3{...}

这篇关于注解(Annotation)(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1067583

相关文章

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺

Spring @Scheduled注解及工作原理

《Spring@Scheduled注解及工作原理》Spring的@Scheduled注解用于标记定时任务,无需额外库,需配置@EnableScheduling,设置fixedRate、fixedDe... 目录1.@Scheduled注解定义2.配置 @Scheduled2.1 开启定时任务支持2.2 创建

mapstruct中的@Mapper注解的基本用法

《mapstruct中的@Mapper注解的基本用法》在MapStruct中,@Mapper注解是核心注解之一,用于标记一个接口或抽象类为MapStruct的映射器(Mapper),本文给大家介绍ma... 目录1. 基本用法2. 常用属性3. 高级用法4. 注意事项5. 总结6. 编译异常处理在MapSt

Spring @RequestMapping 注解及使用技巧详解

《Spring@RequestMapping注解及使用技巧详解》@RequestMapping是SpringMVC中定义请求映射规则的核心注解,用于将HTTP请求映射到Controller处理方法... 目录一、核心作用二、关键参数说明三、快捷组合注解四、动态路径参数(@PathVariable)五、匹配请

SpringCloud中的@FeignClient注解使用详解

《SpringCloud中的@FeignClient注解使用详解》在SpringCloud中使用Feign进行服务间的调用时,通常会使用@FeignClient注解来标记Feign客户端接口,这篇文章... 在Spring Cloud中使用Feign进行服务间的调用时,通常会使用@FeignClient注解

Java 关键字transient与注解@Transient的区别用途解析

《Java关键字transient与注解@Transient的区别用途解析》在Java中,transient是一个关键字,用于声明一个字段不会被序列化,这篇文章给大家介绍了Java关键字transi... 在Java中,transient 是一个关键字,用于声明一个字段不会被序列化。当一个对象被序列化时,被

Spring Cache注解@Cacheable的九个属性详解

《SpringCache注解@Cacheable的九个属性详解》在@Cacheable注解的使用中,共有9个属性供我们来使用,这9个属性分别是:value、cacheNames、key、key... 目录1.value/cacheNames 属性2.key属性3.keyGeneratjavascriptor

使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案

《使用@Cacheable注解Redis时Redis宕机或其他原因连不上继续调用原方法的解决方案》在SpringBoot应用中,我们经常使用​​@Cacheable​​注解来缓存数据,以提高应用的性能... 目录@Cacheable注解Redis时,Redis宕机或其他原因连不上,继续调用原方法的解决方案1

Spring Boot 常用注解整理(最全收藏版)

《SpringBoot常用注解整理(最全收藏版)》本文系统整理了常用的Spring/SpringBoot注解,按照功能分类进行介绍,每个注解都会涵盖其含义、提供来源、应用场景以及代码示例,帮助开发... 目录Spring & Spring Boot 常用注解整理一、Spring Boot 核心注解二、Spr

Java Jackson核心注解使用详解

《JavaJackson核心注解使用详解》:本文主要介绍JavaJackson核心注解的使用,​​Jackson核心注解​​用于控制Java对象与JSON之间的序列化、反序列化行为,简化字段映射... 目录前言一、@jsonProperty-指定JSON字段名二、@JsonIgnore-忽略字段三、@Jso