注解和反射是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容器中,那么特有的程序获取到这个注解就知道该干什么事了。
以上是什么是java注解的详细内容。更多信息请关注PHP中文网其他相关文章!