java 注解
2013-11-05 22:19
218 查看
注解
1.写在前面
注解(也被称为元数据),更多的了一种设计模式,在本质上它没有增强Java的能力,使用注解实现的功能都可以以非注解的方式实现。Java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 java.lang.annotation 包中。
2.基本语法
java 提供了标准注解、元注解、自定义注解
2.1 三种标准注解:
参考资料@Override:只能用在方法之上,表示当前的方法定义将覆盖超类中的方法。 @Deprecated:可以设定在程序里的所有的元素上. @SuppressWarnings:暂时把一些警告信息消息关闭.
2.2 四种元注解
元注解,就是定义注解的注解,也就是说这些元注解是的作用就是专门用来约束其它注解的注解。元注解主要有四个:
@Target,@Retention,@Documented,@Inherited
@Target
@Target:表示该注解用于什么地方 @Target(ElementType.TYPE) //接口、类、枚举、注解 @Target(ElementType.FIELD) //字段、枚举的常量 @Target(ElementType.METHOD) //方法 @Target(ElementType.PARAMETER) //方法参数 @Target(ElementType.CONSTRUCTOR) //构造函数 @Target(ElementType.LOCAL_VARIABLE)//局部变量 @Target(ElementType.ANNOTATION_TYPE)//注解 @Target(ElementType.PACKAGE) ///包 由以上的源码可以知道,他的elementType 可以有多个,一个注解可以为类的,方法的,字段的等等
@Retention
@Retention: 定义注解的保留策略 @Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含 @Retention(RetentionPolicy.CLASS) // 默认的保留策略,注解会在class字节码文件中存在,但运行时无法获得, @Retention(RetentionPolicy.RUNTIME) // 注解会在class字节码文件中存在,在运行时可以通过反射获取到
@Documented
@Document:说明该注解将被包含在javadoc中
@Inherited
@Inherited:说明子类可以继承父类中的该注解
2.3 自定义注解
3.注解处理器
4.使用apt处理注解
5.基于注解的单元测试
6.参考:
相关文章推荐
- java与.net比较学习系列(6) 数组
- json---java对象转换
- java socket编程小例子
- java中的堆与栈
- (整理)eclipse问题汇总
- 框架搭建1-----spring3+hibernate4+mysql
- Java基础重温(十)-scjp 2
- Java的JDBC事务详解
- Rhythmk 一步一步学 JAVA (12) Spring-1 之入门
- Java 正则表达式(二)
- Java上传、下载代码
- NetBeans更改默认JDK路径
- SpringMVC和Struts的区别
- SpringMVC和Struts是线程安全的吗?为什么?
- Struts2注解Convention扫描jar中的Action的设置,注解Action咋jar中找不到.
- Java基础1--概述--环境变量--HelloWorld
- java socket编程
- Java中File类使用
- JAVA NIO 简介
- Java 中的语法糖 (Syntactic Sugar)