---恢复内容开始---

一、什么是注解

  注解,英文Annotation,它不是程序本身,是对程序的解释,在这里我会想到为什么不能使用注释呢,因为注解是关于程序对信息的处理的流程的一些说明,而且格式也与注释不同,注解是以“@注释名”再程序中存在的,而且其中还可以包含一些参数,注解可以在package、class、method上使用,可以通过反射机制编程实现对这些元数据的访问。

  我们最常见的注解就有一种是内置注解—@override。在重写toString方法时会出现,这种情况下可以更好的理解注解,在有@override时重写的方法只能是pubulic String toString(),方法的名称都是固定的,不能修改,就连大小写都不型,而在去掉@override后可以更改方法的名称。—@Deprecated,这个注释可用于修辞方法、属性、类,表示不鼓励程序员使用这样的元素,或因为太危险,或因为有更好的办法。—@SuppressWarnings,这个可牛了,这个是用来抵制编译时的警告信息!它可以带参数,参数指定抑制的警告种类。

二、自定义注解

  使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口

  注意:注解元素必须要有值,我们在定义注解元素的时候经常会使用空字符串、0、-1为默认值。格式是 int id() default -1;

  元注解:元注解的作用就是负责注解其他注解,Java定义了四个标准的meta-annotation类型,分别是@Target、@Retention、@Documented、@Inherited

  @Target:用于表明被注解的注解的注解范围,它的修饰范围是:package包/类、接口、枚举、Annotation类型/类型成员(方法、构造方法、成员变量、枚举值 CONSTRUCTOR-描述构造器,METHOD-描述方法,FIELD-描述作用域)、方法参数(PARAMETER)和本地变量(LOCAL_VARIABLE)

  @Retention:表示需要在什么级别保存该注解,描述的是注解的声明周期。取值有:SOURCE(在源文件中有效)CLASS(在class中保留)RUNTIME(运行时保留,可以被反射机制编码读取)

---恢复内容结束---

一、什么是注解

  注解,英文Annotation,它不是程序本身,是对程序的解释,在这里我会想到为什么不能使用注释呢,因为注解是关于程序对信息的处理的流程的一些说明,而且格式也与注释不同,注解是以“@注释名”再程序中存在的,而且其中还可以包含一些参数,注解可以在package、class、method上使用,可以通过反射机制编程实现对这些元数据的访问。

  我们最常见的注解就有一种是内置注解—@override。在重写toString方法时会出现,这种情况下可以更好的理解注解,在有@override时重写的方法只能是pubulic String toString(),方法的名称都是固定的,不能修改,就连大小写都不型,而在去掉@override后可以更改方法的名称。—@Deprecated,这个注释可用于修辞方法、属性、类,表示不鼓励程序员使用这样的元素,或因为太危险,或因为有更好的办法。—@SuppressWarnings,这个可牛了,这个是用来抵制编译时的警告信息!它可以带参数,参数指定抑制的警告种类。

二、自定义注解

  使用@interface自定义注解时,自动继承了java.lang.annotation.Annotation接口

  注意:注解元素必须要有值,我们在定义注解元素的时候经常会使用空字符串、0、-1为默认值。格式是 int id() default -1;

  元注解:元注解的作用就是负责注解其他注解,Java定义了四个标准的meta-annotation类型,分别是@Target、@Retention、@Documented、@Inherited

  @Target:用于表明被注解的注解的注解范围,它的修饰范围是:package包/类、接口、枚举、Annotation类型/类型成员(方法、构造方法、成员变量、枚举值 CONSTRUCTOR-描述构造器,METHOD-描述方法,FIELD-描述作用域)、方法参数(PARAMETER)和本地变量(LOCAL_VARIABLE)

  @Retention:表示需要在什么级别保存该注解,描述的是注解的声明周期。取值有:SOURCE(在源文件中有效)CLASS(在class中保留)RUNTIME(运行时保留,可以被反射机制编码读取)

三、通过映射

  ORM:对象关系映射,在java中我们学习的是面向对象思想,而用java写程序用数据库存数据,大多数数据库的思想都是面向关系,大多数时候我们需要将类转换成表格,在转换的过程中其实也是一种映射。

注解_Annotation的更多相关文章

  1. 基于spring注解AOP的异常处理

    一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...

  2. [Spring]IoC容器之进击的注解

    先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...

  3. Android注解使用之通过annotationProcessor注解生成代码实现自己的ButterKnife框架

    前言: Annotation注解在Android的开发中的使用越来越普遍,例如EventBus.ButterKnife.Dagger2等,之前使用注解的时候需要利用反射机制势必影响到运行效率及性能,直 ...

  4. Android注解使用之注解编译android-apt如何切换到annotationProcessor

    前言: 自从EventBus 3.x发布之后其通过注解预编译的方式解决了之前通过反射机制所引起的性能效率问题,其中注解预编译所采用的的就是android-apt的方式,不过最近Apt工具的作者宣布了不 ...

  5. spring注解源码分析--how does autowired works?

    1. 背景 注解可以减少代码的开发量,spring提供了丰富的注解功能.我们可能会被问到,spring的注解到底是什么触发的呢?今天以spring最常使用的一个注解autowired来跟踪代码,进行d ...

  6. 编写高质量代码:改善Java程序的151个建议(第6章:枚举和注解___建议88~92)

    建议88:用枚举实现工厂方法模式更简洁 工厂方法模式(Factory Method Pattern)是" 创建对象的接口,让子类决定实例化哪一个类,并使一个类的实例化延迟到其它子类" ...

  7. ASP.NET MVC5----常见的数据注解和验证

    只要一直走,慢点又何妨. 在使用MVC模式进行开发时,数据注解是经常使用的(模型之上操作),下面是我看书整理的一些常见的用法. 什么是验证,数据注解 验证 从全局来看,发现逻辑仅是整个验证的很小的一部 ...

  8. 基于注解的bean配置

    基于注解的bean配置,主要是进行applicationContext.xml配置.DAO层类注解.Service层类注解. 1.在applicationContext.xml文件中配置信息如下 &l ...

  9. Spring注解

    AccountController .java Java代码   1.        /** 2.         * 2010-1-23 3.         */ 4.        packag ...

随机推荐

  1. 一、JAVA变量类型:①类变量与实例变量的异同点

    在JAVA中,变量使用前必须声明,格式如下: int a; //单个变量声明 int b, c, d; //多个变量一起声明 int e = 1, f = 2, g = 3; //声明时同时赋值(初始 ...

  2. Nginx 单个进程允许的最大连接数

    (1) 控制 Nginx 单个进程允许的最大连接数的参数为 worker_connections ,这个参数要根据服务器性能和内存使用量来调整 (2) 进程的最大连接数受 Linux 系统进程的最大打 ...

  3. 最短路,dijstra算法

    #include<iostream> #include<stdio.h> #include<math.h> #include<vector> using ...

  4. 周强 201771010141 《面向对象程序设计(java)》 第二周学习总结

    第一部分:理论知识学习部分 第三章 java的基本程序设计结构 本章主要学习数据类型.变量.运算符.类型转换.字符串.输入输出.控制流程.大数值.数组等内容. 1.基本知识 (1)标识符:由字母.下划 ...

  5. 移动web总结

    Meta标签:   1 <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-sc ...

  6. 02_搭建Nginx服务器

    一.nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. ①gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有 ...

  7. java.lang.ClassNotFoundException:oracle.jdbc.OracleDriver

    在使用JDBC时经常碰到java.lang.ClassNotFoundException:oracle.jdbc.OracleDriver问题 这是jvm找不到驱动类文件,可能是以下原因: 没有导入驱 ...

  8. Javascript 将一个句子中的单词首字母转成大写

    Javascript 将一个句子中的单词首字母转成大写 先上代码 function titleCase(str) { str = str.toLowerCase().split(" &quo ...

  9. Oracle DBA最常用的269条命令

    1 运行SQLPLUS工具 sqlplus 2 以OS的默认身份连接 / as sysdba 3 显示当前用户名 show user 4 直接进入SQLPLUS命令提示符 sqlplus /nolog ...

  10. 问题 Windows7VMware14安装虚拟机时出现 此主机不支持虚拟化实际模式。需要具备 Intel“VMX 不受限客户机”功能才能在 Intel 处理器上运行此虚拟机。 模块“CPUIDEarly”启动失败。

    问题 Windows7VMware14安装虚拟机时出现 此主机不支持虚拟化实际模式.需要具备 Intel“VMX 不受限客户机”功能才能在 Intel 处理器上运行此虚拟机. 模块“CPUIDEarl ...