Java 注解的概念与种类

  一,什么是注解

  注解和XML文件都是常用的,对web项目进行配置性描述的方式。

  举个最简单的例子,对于一个Servlet,比如LoginServlet,采用如下方式:

  @WebServlet(urlPatterns=/Login)

  public class LoginServlet extends HttpServlet {}

  用了上面的@WebServlet注解后,无需在web.xml再进行LoginServlet相关的 配置,即可通过http://localhost:8080/项目名/Login访问到LoginServlet。

  由此可见,注解有点类似于xml配置文件,可以添加一些信息,但是又不影响Java类正常运行。注解其实就是为我们的项目提供纯Java代码提供不了的信息的。

  二,注解的优势

  那么即然都有xml配置文件这样的技术,为啥还要注解呢,感觉在干净的Java代码中添加@xxx后显得不是那么舒爽了呢。

  好的,我们来对比下注解和XML,还是以LoginServlet的使用为例:

  注解的话,我们需要在LoginServlet类添加:

  @WebServlet(urlPatterns=/Login)

  XML配置文件的话,我们需要在web.xml中添加:

  servlet

  servlet-nameLoginServlet/servlet-name

  servlet-classLoginServlet/servlet-class

  /servlet

  servlet-mapping

  servlet-nameLoginServlet/servlet-name

  url-pattern/Login/url-pattern

  /servlet-mapping

  毫无疑问,从代码量上讲注解好像占了些优势,从打开页面数上,注解只需要关注LoginServlet一个类的代码,XML方式在编辑完LoginServlet类之后还要去修改XML文件。

  这就是注解的优势哦,因为它本身就应用在类、方法、属性等元素上,所以不用再进一步描述关联元素。而且由于注解后面紧跟被注解元素,所以看起来也是一目了然,哪怕没接触过这个业务逻辑,也能注意到或者很快的去了解到。

  三,注解的种类

  Java中的注解分两类内置注解和自定义注解,很简单,就像JDK自带的类和我们的自定义类一样的道理。

  然后内置注解又分两类,一类是定义在java.lang中的常用注解,第二类是新建自定义注解使会用到的注解。其实第二类也是跟自定义注解相关的,后面会单独拿出一篇来讲自定义注解。现在重点说说常用的内置注解:

  1,@Override,该注解用来修饰方法,表示该方法覆盖父类方法。当然如果没有覆盖,就会报错。

  2,@Deprecated,使用该注解修饰的元素,会有警告信息。自定义类时对一些属性或方法采用该注解可以起到提示作用,因为用的时候代码会有道删除线。请看下图,是不是很熟悉。

  3,@SuppressWarnings,关闭编译器警告,如果觉得警告烦人,就用它吧。

  

​

Java 注解的概念与种类的更多相关文章

  1. Java注解基础概念总结

    注解的概念 注解(Annotation),也叫元数据(Metadata),是Java5的新特性,JDK5引入了Metadata很容易的就能够调用Annotations.注解与类.接口.枚举在同一个层次 ...

  2. java注解的概念理解

    1. 注解(标注)概念:从字面意思理解是对被标注的对象(类,接口,枚举,注解类,方法,参数)的一个标记,有这个标记有什么用呢?就像学习中“划重点”的方式一样,被标记的对象肯定是特殊需要特别关照的对象, ...

  3. 框架基础——全面解析Java注解

    为什么学习注解? 学习注解有什么好处? 学完能做什么? 答:1. 能够读懂别人写的代码,特别是框架相关的代码: 2. 让编程更加简洁,代码更加清晰: 3. 让别人高看一眼. spring.mybati ...

  4. 转!数据库连接池概念、种类、配置(DBCP\C3P0\JndI与Tomact配置连接池)

    数据库连接池概念.种类.配置(DBCP\C3P0\JndI与Tomact配置连接池) 一.DBCP 连接:DBCP 连接池是 Apache 软件基金组织下的一个开源连接池实现. 需要的 java 包c ...

  5. Java注解教程:自定义注解示例,利用反射进行解析

    Java注解能够提供代码的相关信息,同时对于所注解的代码结构又没有直接影响.在这篇教程中,我们将学习Java注解,如何编写自定义注解,注解的使用,以及如何使用反射解析注解. 注解是Java 1.5引入 ...

  6. 黑马程序员:Java基础总结----java注解

    黑马程序员:Java基础总结 java注解   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! java注解 lang包中的基本注解 @SuppressWarnings ...

  7. java注解(基础)

    一.认识注解 1.注解的定义: java提供了一种原程序中的元素关联任何信息和元数据的途径和方法. 2.学习注解的目的: (1)能够读懂别人写的代码,特别是框架相关的代码(框架中使用注解是非常方便的) ...

  8. Java注解(3)-注解处理器(编译期|RetentionPolicy.SOURCE)

    注解的处理除了可以在运行时通过反射机制处理外,还可以在编译期进行处理.在编译期处理注解时,会处理到不再产生新的源文件为止,之后再对所有源文件进行编译. Java5中提供了apt工具来进行编译期的注解处 ...

  9. Java注解(Annotation):请不要小看我!

    Java注解是一系列元数据,它提供数据用来解释程序代码,但是注解并非是所解释的代码本身的一部分.注解对于代码的运行效果没有直接影响. 网络上对注解的解释过于严肃.刻板,这并不是我喜欢的风格.尽管这样的 ...

随机推荐

  1. Apache+php+mysql环境配置

    Apache+PHP+MySQL环境搭建 标题格式 正文格式 阶段性完成格式 正文中强调格式 ————————————————————————————— 前语:本文是从我写过的doc文档迁移过来的,由 ...

  2. cordova+Android Studio 1.0+ionic+win7(转)

    转自http://blog.csdn.net/fuyunww/article/details/42216125 目录(?)[-] 在项目目录下执行 a创建工程 b添加平台支持 c添加插件在Androi ...

  3. matplotlib显示中文

    [注意] 可能与本文主题无关,不过我还是想指出来:使用matplotlib库时,下面两种导入方式是等价的(我指的是等效,当然这个说法可以商榷:) import matplotlib.pyplot as ...

  4. ide vscode安装

    在linux系统中安装VSCode(Visual Studio Code)   在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包(话说下载下来解压就直接 ...

  5. uva10905

    /* 很好的字符串 比较方法 很多个字符串 组成的 数字 需要最大 然后 比较 a和b 是 比较a+b 和b+a 的大小 */ #include<cstdio> #include<s ...

  6. Openstack创建虚拟机 Restful api和RPC调用

    Horizon前台界面用于接受用户的输入或动作(action),然后将这些参数构造成RESTful API(https://developer.openstack.org/api-ref/comput ...

  7. python3.4学习笔记(四) 3.x和2.x的区别,持续更新

    python3.4学习笔记(四) 3.x和2.x的区别 在2.x中:print html,3.x中必须改成:print(html) import urllib2ImportError: No modu ...

  8. Linux中编写Bash脚本的10个技巧

    Shell 脚本编程 是你在 Linux 下学习或练习编程的最简单的方式.尤其对 系统管理员要处理着自动化任务,且要开发新的简单的实用程序或工具等(这里只是仅举几例)更是必备技能. 本文中,我们将分享 ...

  9. 使用基于 PHP 的开源软件 YOURLS 搭建短链接地址服务

    使用基于 PHP 的开源软件 YOURLS搭建 系统配置 php7.1+mysql5.7+nginx 下载源代码 git clone https://github.com/YOURLS/YOURLS. ...

  10. P2455 [SDOI2006]线性方程组(real gauss)

    P2455 [SDOI2006]线性方程组 (upd 2018.11.08: 这才是真正的高斯消元模板) 找到所消未知数(设为x)系数最大的式子,把它提上来 把这个式子的 x 系数约成1 把这个式子用 ...