注解的分类及使用

目录

理解:

@Override的使用

@Deprecated的使用:

@SuppressWarnings的使用:

部分参数如下:

元注解:

@Retention 注解

@Target 注解

@Documented 注解

@Inherited 注解


理解:

1)注解(Annotation)也被称为元数据(Metadata),用于修饰解释 包,类,方法,属性,构造器,局部变量等数据信息。

2)和注释一样,注解不影响程序逻辑,但注解可以被编译或运行,相当于嵌入在代码中的补充信息

3)在JAVASE中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等。在JAVAEE中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替JAVA EE旧版本中所遗留的繁冗代码和XML配置等

介绍:

使用 Annotation 时要在其前面增加 @ 符号,并把该 Annotation 当成一个修饰符使用。用于修饰它支持的程序元素

三个基本的Annotation:

A:@Override:限定某个方法,是重写父类方法,该注解只能用于方法

B:@Deprecated:用于表示某个程序元素(类,方法等)已过时

C:@SuppressWarnings:抑制编译器警告

@Override的使用

如果写了 @override 注解,编译器就会去检查该方法是否真的重写了父类的方法,如果是,则编译通过,若没有构成重写,那么编译失败。(即进行语法校验)

@override源码:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

以后如果看到 @interface 表示一个注解类

1)@Override 表示指定重写父类方法,如果父类没有其后面重写的方法,则会报错

2)如果不写@Override 注解,而父类仍有 子类重写的方法 ,仍然构成重写

3)@Override只能修饰方法,不能修饰其他类,包,属性等等

4)查看@Override注解源码,说明只能修饰方法

5)@Target 是修饰注释的注解,称为元注解

@Deprecated的使用:

说明:

A:用于表示某个程序元素(类,方法)已过时

B:可以修饰方法,类,字段,包,参数 等等

C:@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, MODULE, PARAMETER, TYPE})

D:@Deprecated 的作用域可以作用到新旧版本的兼容与过渡

@SuppressWarnings的使用:

@SuppressWarnings({""})        其内部为参数可选项,利用逗号进行隔开

部分参数如下:

元注解:

基本介绍:

JDK 的元 Annotation 用于修饰其他Annotation

元注解:知道是干嘛的就彳亍了

元注解种类:

1)Retention        //指定注解的作用范围,三种:SOURCE,CLASS,RUNTIME

2)Target        //指定注解可以在哪些地方使用

3)Documented        //指定该注解是否会在javadoc里面体现

4)Inherited        //子类会继承父类注解

@Retention 注解

说明:只能用于修饰一个 Annotation 定义,用于指定该 Annotation 可以保留多长时间,@Retention 包含一个 RetentionPolicy 类型的成员变量,使用  @Retention 时必须为该 value 成员变量指定值:

@Retention三种指定值:

A:RetentionPolicy.SOURCE        编译器使用后,直接丢弃这种策略的注解

B:RetentionPolicy.CLASS        编译器将把注解记录在 class 文件中,当运行java 程序时,JVM 不会保留注释。这是默认值

C:RetentionPolicy.RUNTIME        编译器将把注解记录在 class 文件中,当运行java 程序时,JVM会保留注释,程序可以通过反射获取该注释

@Target 注解

说明:用于修饰 Annotation 定义,用于指定被修饰的 Annotation 能用于修饰哪些元素。@Target也包含一个名为value 的成员变量

@Documented 注解

说明:用于指定被该元 Annotation 修饰的 Annotation 类将被 javadoc 工具提取成文档,即在生成文档时,可以看见注解

说明:定义为Documented 的注解必须设置Retention值为RUNTIME 。

@Inherited 注解

说明:被它修饰的Annotation 将具有继承性,如果某个类使用了被@Inherited  修饰的 Annotation,其子类将自动具有该注解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
@Validated注解是Spring框架中用于进行参数校验的注解。它可以应用在方法参数、方法返回值、方法中的局部变量以及方法级别上。@Validated注解主要用于对方法参数进行校验。 使用@Validated注解需要满足以下几个条件: 1. 在Controller类或者方法上添加@Validated注解。 2. 在方法参数上添加@Valid或者@Validated注解进行参数校验。 3. 在被校验的实体类的属性上使用相应的校验注解,例如@NotNull、@NotBlank、@Min等。 例如,可以在Controller的方法参数上使用@Validated注解进行参数校验,如下所示: ```java @PostMapping("/example") public String exampleMethod(@Validated @RequestBody ExampleDto exampleDto) { // 执行业务逻辑 return "success"; } ``` 在上面的例子中,@Validated注解用于对exampleDto对象进行参数校验。在ExampleDto类的属性上使用了相关的校验注解,例如@NotNull、@NotBlank等,用于指定属性的校验规则。 需要注意的是,@Validated注解和@Valid注解的区别在于,@Validated注解提供了分组校验的功能,可以根据不同的业务场景对校验规则进行分类。而@Valid注解不支持分组校验。 综上所述,@Validated注解是用于对方法参数进行校验的注解,可以在Spring框架中进行使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [spring中@Validated注解使用](https://blog.csdn.net/ctycsdn/article/details/117789981)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [@Validate注解使用原理详解](https://blog.csdn.net/qq_27886773/article/details/120246414)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [@Validated@Valid注解使用](https://blog.csdn.net/weixin_43161973/article/details/107673805)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值