搜索
首页JavaJava入门什么是java注解

什么是java注解

Aug 05, 2020 pm 05:13 PM
java注解

什么是java注解

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

(推荐教程:java学习网站

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

1、注解和注释很像

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

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

064b3acd682fce175eb8177990669c9.png

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

简单来说就是对相关的类或者方法加以说明,比如这里的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中文网其他相关文章!

声明
本文转载于:csdn。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器