`
onlyor
  • 浏览: 370603 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JAVA注解总结

    博客分类:
  • java
阅读更多

最近打算搞清楚以下问题:

1. 注解的原理与使用

2. Java提供的标准注解分析。
3. Spring与Junit的常用注解分析。
4. 如何合理的设计和使用注解

 

1. 注解的原理与使用

    阅读了《Java编程思想》讲注解的一章,整理笔记如下:
    1.1 定义注解
    使用元注解定义注解,元注解有四种:
    @Target(ElementType.[type])
    [type]={METHOD, FIELD, TYPE(类、接口、枚举声明), CONSTRUCTOR, LOCAL_VARIABLE, PARAMETER}
    @Retention(RetentionPolicy.[policy])
    [policy]={SOURCE, CLASS, RUNTIME(反射机制可读取)}
    @Documented 表示将此注解包含到Javadoc中
    @Inherited 表示允许子类继承父类的注解
    例子:

//:annotations/UserCase.java

import java.lang.annotation.*;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface UseCases {
    public int value() default 0;
    
public int id() default 0;
    
public String description() default "no description";
}

   
    1.2使用注解
        @UserCase(id=10, description="my desccription")
        注意:
        注解元素必须有确定的值,要么在定义注解的默认值中指定,要么在使用注解时指定
        非基本类型的注解元素的值不可为null
        注解快捷方式: 如果注解元素声明为value(),则在使用注解时如果只声明value,可以只写值,不必写名值对。例如可写为@UseCase(10)
    1.3编写注解处理器
        通过反射机制获取注解元素的值: Method.getAnnotation(), Field.getDeclaredAnnotations()等方法
    1.4注解的使用场景
        统计系统用例实现情况   
        由JavaBean自动生成数据库建表SQL
    1.5 JDK提供的注解工具apt
    1.6 基于注解的单元测试    
待续……
2. Java提供的标准注解分析。
    @Override

/*
 * @(#)Override.java    1.5 04/02/09
 *
 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 
*/


package java.lang;

import java.lang.annotation.*;

/**
 * Indicates that a method declaration is intended to override a
 * method declaration in a superclass.  If a method is annotated with
 * this annotation type but does not override a superclass method,
 * compilers are required to generate an error message.
 *
 * 
@author  Joshua Bloch
 * 
@since 1.5
 
*/

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

    注解@Override的代码非常简单,可用于注解类的方法,并在Source级别可用。  
    @Deprecated
    级别为Runtime    
  
    @SuppressWarnings
    级别为source,经常的使用方式为@SuppressWarnings("unchecked")
3. Spring与Junit的常用注解分析。
    @Test
   

4. 如何合理的设计和使用注解
    使用注解标记字段和方法,可通过反射的手段截取注解及其标记的字段和方法的元数据,并根据需求对元数据进行处理。
    它赋予了字段和方法额外的意义,提供了一种统一处理字段和方法的优雅的方式。
    注解更多的意义是提供了一种设计模式,在本质上它没有增强Java的能力,使用注解实现的功能都可以以非注解的方式实现,只是代码可能不是很好看而已
分享到:
评论

相关推荐

    java spring 框架及注解 总结

    java spring 框架及注解 总结,本人在项目开发中总结的,希望对大家有所帮助

    android学习日记-4 JAVA注解总结

    相关例子 博文链接:https://zwx622.iteye.com/blog/2064446

    java 注释模板 超级好用

    超级好用的 java 注释模板,吐血总结,整理。吐血总结,整理。

    java-注解总结【从入门到项目总结】

    关于java注解的总结: 从入门介绍到项目使用的实际经验归纳总结得出! 从jdk5到jdk8!

    java重要知识点总结

    1.java是一种编译解释型的语言。 2.java的垃圾回收机制: java的垃圾回收将在程序运行过程中自动进行,无需程序员负责...6.java注释: // 单行注释 /* */ 多行注释(不能嵌套) //* */ 文档说明注释 ...... .... .....

    java基础学习总结笔记

    知识主要包括:Java基础常识、如何安装Java工具、Java语言的基础组成、Java面向对象、Java多线程、Java常用类、集合(重点)、IO流、GUI图形界面、网络编程、正则表达式、反射、注解、类加载器、动态代理等等,另外...

    java注解知识思维导图

    这是自己总结的java注解 使用了思维导图,方便读取,快速阅读

    Java 基础核心总结 +经典算法大全.rar

    《Java 基础核心总结》 Java 概述 什么是 Java2 Java 的特点Java 开发环境 JDK JRE Java 开发环境配置 Java 基本语法 数据类型基础语法运算符 Java 执行控制流程条件语句 if 条件语句 if...else 条件语句if...else ...

    Java 基础核心总结_.zip

    从java概述》java开发环境配置》java基本语法》java执行流程》面向对象》访问控制权限》接口和抽象类》异常》内部类》集合》泛形》反射》枚举》I/O》注解》关于 null 的几种处理方式

    java实验报告.docx

    java实验报告,一共16个实验,包含代码截图。...实验十三 Java 反射与注解程序应用 31 实验十四 Java 数据库程序设计应用 36 实验十五 Java Swing 图形用户界面程序设计应用 43 实验十六 Java 网络程序设计应用 52

    java技能总结.docx

    掌握Java的高级特性:掌握Java的反射、泛型、注解、并发编程等高级特性,以及Java集合框架和并发包的使用。 掌握Java Web开发:掌握Java Web开发的相关技术,如Servlet、JSP、Spring、Hibernate等,能够开发基于Web...

    java基础核心总结归纳---参考手册--心得手册-学习资料-总结经验

    1 Java 概述 3 1.1 Java 定义 3 1.2 Java 的特点 3 1.3 Java 开发环境 5 Java 基本语法 7 数据类型 7 整数型 7 浮点型 7 字符型 8 ...注解 28 关于 null 的⼏种处理⽅式 29 null 是任何引⽤类型的初始值 29

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、...3、JAVA IO流经典代码示例,示例从易到难。代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。

    java 编程入门思考

    2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体CD-ROM 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 14. 致谢 第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 ...

    Java基础核心总结.PDF

    1.java概述 2.java开发环境配置 3.java基本语法 4.java执行控制流程 5.面向对象 6.访问控制权限 7.接口和抽象类 8.异常 9.内部类 10.集合 11.泛形 12.反射 13.枚举 ...15.注解 16.Null值处理 17.思维导图

    JAVA面向对象基础总结笔记

    这个文档是我本人通过学习JAVA面向对象部分总结出的文档,知识点都包含在内,继承,封装,多态等概念,以及相关代码并给于注释,面向对象部分是JAVA的核心部分,面向对象这部分是理解JAVA的最好途径,共大家学习借鉴...

    10万字总结java面试题和答案(八股文之一)Java面试题指南

    Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 Spring面试题 Spring Boot面试题 Spring Cloud面试题 RabbitMQ面试题 Dubbo 面试题 MyBatis 面试题 ZooKeeper ...

    Java重点知识总结

    标识符与关键字 ,注释形式 ,8种基本类型的变量定义、常量写法 ,变量与常量 运算符与表达式 ,流程控制语句(基本语法、例题) ,补充:带标号的break与continue 数组:一维数组 ,静态方法(结合第3章静态变量)...

    实验5 JAVA常用类.doc

    本专栏主要为Java程序设计(基础)实验报告和Java程序设计(进阶)实验报告,基础篇有JAVA环境搭建、Java语言基础、方法和数组、面向对象基础、Java常用类、继承与接口、成员访问控制与异常、JavaFX程序设计、Java...

    Java关键字总结珍藏版

    Java关键字总结珍藏版1.abstract Java 关键字 abstract 关键字可以修改类或方法。 abstract 类可以扩展(增加子类),但不能直接实例化。 abstract 方法不在声明它的类中实现,但必须在某个子类中重写。 示例 ...

Global site tag (gtag.js) - Google Analytics