什么是注解

简介: 什么是注解

一. 什么是注解

Annotation(注解)就是Java提供了一种为程序元素关联任何信息或任何元数据(metadata)的途径和方法。

也就是代码的一些特殊标记,这些标记在编译,加载和运行时被读取执行操作。

注解在开发过程中非常常见,例如java自身带的注解@Override,开发是使用spring框架是遇到的@Controller @Service @RequestMapping 以及利用aop自定义的注解,下面我们主要介绍下java自带的注解。

java中常见注解

原生注解:@Override,@Deprecated,@Suppvisewarnings

@Override

@Override是伪代码,表示重写。

主要作用:

1.表明对父类方法的重写,当作注释使用,提高代码可读性。

2.编译器可以验证@Override下面的方法名称是否跟父类中的方法一直,如果不一致就会报错。

源代码如下:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}
AI 代码解读

@Deprecated

@Deprecated 方法已过期,不被建议使用的,可用于类上、方法上、属性上。

使用:

一般作用于代码暂时不适应,后期可能会被低啊偶,暂时先用注解注释掉,后期使用在讲注解去掉

源代码如下:

@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface Deprecated {
}
AI 代码解读

@Suppvisewarnings

@Suppvisewarnings 作用是忽略警告。

主要和@Deprecated 一起使用,当调用呗@Deprecated 注释的方法是,编译器会提示警告,可以增加@Suppvisewarnings 忽略警告。

源代码如下:

@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface SuppressWarnings {
    String[] value();
}
​
AI 代码解读

元注解

除了以上三个原生注解外,还有一种叫做元注解(元Annotation)。

元Annotation 就是修饰注解的。

常见的有@Retention 和@Target

@Retention:设置注解的生命周期,注明它在什么时期使用

SOURCE:注释将被编译器丢弃 ,仅开发时使用,编译运行时丢弃

CLASS:注释由编译器记录在类文件中 ,编译时读取使用

RUNTIME:注释将被编译器记录在类文件中, 运行时读取。

@Target:表明注解的使用位置(比如方法,成员变量,包等等)

@Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
AI 代码解读
  • TYPE字段标注了可以使用在"类、接口(包括注释类型)或枚举声明"。
  • FIELD字段标注了可以使用在"字段声明"。
  • METHOD 字段标注了可以使用在"方法"。
  • PARAMETER 字段标注了可以使用在"参数"。
  • CONSTRUCTOR字段标注了可以使用在"构造方法"。
  • LOCAL_VARIABLE字段标注了可以使用在"局部变量"。
相关文章
@EnableAutoConfiguration注解
这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。 由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。
1315 0
duboo注解使用详解
当越来越的的接口与实现类的增加后,duboo的xml配置会越来越多,为了防止几百几千行的代码,减少开发人员配置xml的工作量,使用duboo的注解模式,减少配置多出问题多的可能性!
188 0
duboo注解使用详解
扒一扒@Retryable注解,很优雅,有点意思! (1)
扒一扒@Retryable注解,很优雅,有点意思! (1)
406 0
扒一扒@Retryable注解,很优雅,有点意思! (1)
扒一扒@Retryable注解,很优雅,有点意思! (3)
扒一扒@Retryable注解,很优雅,有点意思! (3)
528 0
扒一扒@Retryable注解,很优雅,有点意思! (3)
扒一扒@Retryable注解,很优雅,有点意思! (4)
扒一扒@Retryable注解,很优雅,有点意思! (4)
241 0
扒一扒@Retryable注解,很优雅,有点意思! (4)
注解就这么简单
前言 今天要讲的是注解,对于本章节,最好是有Servlet基础的人查阅~因为单纯是Java基础的话,可能用不上注解这个东西。但如果开发过Servlet,就对@WebServlet不会陌生。 现在的开发都推崇使用注解来进行开发,这样就可以免去写XML配置了,十分方便的一项技术~ 学习注解可以更好地理解注解是怎么工作的,看见注解了就可以想到它的运行原理了~。
1066 0
扒一扒@Retryable注解,很优雅,有点意思! (5)
扒一扒@Retryable注解,很优雅,有点意思! (5)
285 0
扒一扒@Retryable注解,很优雅,有点意思! (5)

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等