什么是java注解

  • 来源:网络
  • 更新日期:2020-08-05

摘要:注解和反射是Java中非常让人容易忽略的东西,但却很重要,在主流的Spring中更是充满了注解,注解和注释很像,两者其实本质就差不多,注释是给我们程序员看的,而注解呢其实就是给程序看

注解和反射是Java中非常让人容易忽略的东西,但却很重要,在主流的Spring中更是充满了注解,注解和注释很像,两者其实本质就差不多,注释是给我们程序员看的,而注解呢其实就是给程序看的。

(推荐教程:java学习网站)

上面所说希望你着重注意以下两点:

1、注解和注释很像

2、注释是给我们程序员看的,而注解是给程序看的

我们初步理解注解就从上面两点开始,我们先看注释,比如这样:

这就是一个注释,那么注释有什么用呢?

简单来说就是对相关的类或者方法加以说明,比如这里的Test类,上面的注释大致告诉我们这类是谁编写的,做什么的以及何时编写的这些信息,当然,信息其实还可以有更多。

所以你要明白,注释是干嘛的,是给我们这些程序员看的,看到注释我们就明白了,哦,这个类原来是这样的……

注释是给程序员看的,那么注解呢?相差一个字,注解是给程序看的,先记住即可。

进一步理解注解

首先,直观感觉下什么是注解,比如我们在代码中写的这个:

/**
 * @Description 用户类
 * @Author ithuangqing
 * @Date 2020-07-31 15:33
 **/
@Repository
public class UserBean {
    private String name;
    private int age;
}

这里的@Repository就是一个注解,看这段代码,上面还有注释,我们看到注释,发现都看得明白,但是看到@Repository之后,就不那么明白,这是啥,有啥用?

于是我们查,大概知道,哦,这是个注解,有了这个注解,UserBean就会被装载进Spring容器中,我们可以知道这些信息,但是,它实际上做了哪些事情,是如何起作用,也就是如何把UserBean交给Spring去处理的,这个内部实现,我们不清楚。

但是,我们虽然不清楚,有个东西它清楚,什么呢?就是一个特定的程序,也就是说,有一个专门的程序,当它看到这个UserBean上面有一个@Repository之后,这个程序就知道了,原来要把这个UserBean装载进Spring容器中,于是这个程序就开始执行一系列的操作区把这个UserBean装载进Spring容器中。

(视频教程推荐:java学习)

我们再进一步总结下什么是注解:

在程序中,可以把注解看成一种特殊的标记,一般是用来标记类,方法或者接口等,这些标记有一些特点,比如可以在编译的时候,(javac命令把java源文件编译成字节码文件class),类加载和运行的时候(使用java命令执行字节码文件的时候,类的生命周期开始,从加载到卸载)被读取到(一般是有专门的程序去读区这些注解,利用反射技术去解析注解,然后根据得到的信息做相应的处理)

是的,关于注解,你要知道这么一个知识点了:

对于注解,是有专门的程序去读取它,解析它,然后根据得到的消息去执行相应的操作。

关于这个程序,要看具体的场景,也就是说这个程序是不同的,那么关于这个程序怎么知道读到哪个注解该干嘛,这个还是依靠注解本身的定义,比如@Repository注解被定义成是把被注解的装载进Spring容器中,那么特有的程序获取到这个注解就知道该干什么事了。