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

一、什么是注解

  注解,英文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. spring中classpath

    http://blog.csdn.net/wlwlwlwl015/article/details/48134763 Maven 项目的 classpath 理解 applicationContext. ...

  2. linux下的$0-n作用

    电面的时候回答上来一部分了....呵呵......总结一下!!! $0 Shell本身的文件名 $1-$n 添加到Shell的各参数值.$1是第1参数.$2是第2参数… $$ Shell本身的PID( ...

  3. linux系统转换root权限

    有时候我们用普通用户的权限没办法完成有关权限,这时候我们就需要拿到root权限才可以,拿到root权限有两种方式 方式一: su - 或者su 此时就会提示你输入密码,输入密码成功以后就能以root权 ...

  4. 解决Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/cqupt/paging/dao/User.xml

    搭建了一个ssm项目,启动报错Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find re ...

  5. iOS 证书申请和使用详解(详细版)阅读

    对于iOS开发者来说,apple开发者账号肯定不会陌生.在开发中我们离不开它.下面我简单的为大家分享一下关于iOS开发中所用的证书相关知识. 第一部分:成员介绍 1.Certification(证书) ...

  6. 二进制安装MySQL数据库

    今天安装的是二进制的mysql包5.7.21的包,在配置文件的时候采了好多坑,左后还是搞定了,来和大家分享一下 二进制msyql5.7.21版本的主从复制安装 新建/picclife目录 mkdir  ...

  7. python 写的员工信息查询

    #!/use/bin/env pythonn#_*_ coding:utf-8 _*_import timedef Bre():    while True:        Bre_falg = ra ...

  8. 初学java集合框架笔记

    List接口常用方法: 方法名 说    明 boolean add(Object o) 在列表的末尾顺序添加元素, 起始索引位置从0开始 void add(int index,Object o) 在 ...

  9. CF1109D Sasha and Interesting Fact from Graph Theory

    CF1109D Sasha and Interesting Fact from Graph Theory 这个 \(D\) 题比赛切掉的人基本上是 \(C\) 题的 \(5,6\) 倍...果然数学计 ...

  10. ElasticSearch(四):关于es的一些基础知识讲解

    上一篇博客更新完之后,我发现一个问题:在我创建索引的时候依旧无法准确的理解每个字段的意义,所以就有了这个. 1. 关于索引 1.1 关于索引的一些基础知识 在创建标准化索引的时候,我们传入的请求体如下 ...