- 浏览: 138141 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
nishwd123:
受益匪浅,多谢楼主细心讲解.
Hibernate、Spring和Struts工作原理及使用理由 -
doublelcf:
写得真好。全面,流畅。清晰
Hibernate、Spring和Struts工作原理及使用理由
其实说起注解语法,对于任何一个Java开发人员来说都已经耳熟能详了,我们每天都在使用着 @author, @param,等等编写注释,然后用javadoc生成文档。Java的这种方便的文档生成方法受到了开发者的普遍赞誉。而从JDK1.5开始,注释语法 提供了更为强大的功能。
注解是程序向编译器传达某种编译信息的方式。比如对一些过时的方法,编译器在编译的时候会提醒程序员:此方法不推荐使用。但是程序员觉得看到这个提示很不爽,于是说:“哥玩了几十年的程序,这个都不知道吗?你不用给我提示了,我懂滴。”于是程序员在程序中嵌入一句
@SuppressWarnings("deprecated");这行代码表示关闭方法过时提示。于是编译器就乖乖的不提示了。这就是注解!
注解的语法,除了@符号的使用以外,它基本上与java的固有语法一致,java内置了三种
注解,定义在java.lang包中。
@Override 表示当前方法是覆盖父类的方法。使用这个注解,是告诉编译器,这里必须是覆盖父类的方法。如果你发现不是覆盖父类方法的,请打断它的腿!
@Deprecated 表示当前元素是不赞成使用的。若在程序中使用了这个注解,编译会提示这个方法过时,但可以运行。
@SuppressWarnings 叫压缩警告,表示关掉编译器的某些警告。告诉编译器,你少罗嗦,照编译就可以了!
下面自定义一个注解,并使用它:
编写注解类:MyAnnotation.java
编写使用注解的类,并检查该类是否使用了注解,打印出注解的信息。
打印结果:
注解是程序向编译器传达某种编译信息的方式。比如对一些过时的方法,编译器在编译的时候会提醒程序员:此方法不推荐使用。但是程序员觉得看到这个提示很不爽,于是说:“哥玩了几十年的程序,这个都不知道吗?你不用给我提示了,我懂滴。”于是程序员在程序中嵌入一句
@SuppressWarnings("deprecated");这行代码表示关闭方法过时提示。于是编译器就乖乖的不提示了。这就是注解!
注解的语法,除了@符号的使用以外,它基本上与java的固有语法一致,java内置了三种
注解,定义在java.lang包中。
@Override 表示当前方法是覆盖父类的方法。使用这个注解,是告诉编译器,这里必须是覆盖父类的方法。如果你发现不是覆盖父类方法的,请打断它的腿!
@Deprecated 表示当前元素是不赞成使用的。若在程序中使用了这个注解,编译会提示这个方法过时,但可以运行。
@SuppressWarnings 叫压缩警告,表示关掉编译器的某些警告。告诉编译器,你少罗嗦,照编译就可以了!
下面自定义一个注解,并使用它:
编写注解类:MyAnnotation.java
package blh.review.reflect; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; /* @Retention 表示在什么级别保存该注解信息。可选的 RetentionPolicy 参数包括: * RetentionPolicy.SOURCE 注解将被编译器丢弃 * RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃 * RetentionPolicy.RUNTIME VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息。 * */ @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { public String anotDsc() default "Myannotation"; }
编写使用注解的类,并检查该类是否使用了注解,打印出注解的信息。
package blh.review.reflect; import java.lang.reflect.Method; @MyAnnotation public class AnnotationTest { @MyAnnotation(anotDsc="This is an Annotation test 0!") public void test0(){} @MyAnnotation(anotDsc="This is an Annotation test 1!") public void test1(){} @MyAnnotation(anotDsc="This is an Annotation test 2!") public void test2(){} public static void main(String[] args) { //Use reflect return method Method [] annMethods= AnnotationTest.class.getMethods(); for(Method annMethod:annMethods){ if (annMethod.isAnnotationPresent(MyAnnotation.class)) { MyAnnotation annotation = annMethod.getAnnotation(MyAnnotation.class); System.out.println("MyAnnotation( method = " + annMethod.getName() + " , anotDsc = " + annotation.anotDsc() + " )"); } } } }
打印结果:
MyAnnotation( method = test0 , anotDsc = This is an Annotation test 0! ) MyAnnotation( method = test1 , anotDsc = This is an Annotation test 1! ) MyAnnotation( method = test2 , anotDsc = This is an Annotation test 2! )
发表评论
-
Java中serialVersionUID
2012-11-26 13:27 840Java中serialVersionUID serialV ... -
ArrayList数组对象排序
2012-11-13 21:53 1408POJO package com.test.compara ... -
Java堆和栈的区别 equals 和 == 的区别
2012-11-07 12:10 795Java堆和栈的区别 equals ... -
Cookie,Session,Application用法及区别
2012-05-22 15:20 2801一.Cookie 首先,Cookie的作用域为 ... -
static 的用法
2012-05-22 13:58 878static 代码块应用 package com.ut ... -
finally解析
2012-05-22 13:47 930一.finally 中的语句什么 ... -
java 断言 assert 初步使用:断言开启、断言使用
2012-05-04 20:43 1523java 断言 assert 初步使用:断言开启、断言使用 ... -
java 定时任务实现
2012-04-05 22:41 3652java.util.Timer定时器,实际上是个线程,定时调度 ... -
Servlet上传文件,commons-fileupload
2012-03-02 11:17 4793Servlet上传文件,commons-fil ... -
堆与栈的区别
2012-02-24 11:58 923堆和栈的区别 全局,静态,new产生的变量都在堆中动态分 ... -
在Java中用单例模式有什么好处
2012-01-30 19:46 1297Java Singleton模式主要作 ... -
JAVA单例模式的几种实现方法
2012-01-30 19:41 8701 饿汉式单例类.在类初始化时,已经自行实例化 clas ... -
jsp中的注释<!-- -->内容中不能包含--
2011-11-23 17:45 889jsp中的注释<!-- -->内容中不能包含-- ... -
ibatis和hibernate的区别
2011-08-15 13:34 623ibatis和hibernate的区别 ... -
equals和"=="浅析
2011-02-24 22:30 790==操作符专门用来比较 ... -
java中的重写与重载
2011-02-21 13:59 853方法的重写Overriding和重载Overloading是J ... -
MyEclipse生成WAR包并在Tomcat下部署发布
2011-02-18 22:56 2263右键选中项目,选择export。 然后选择J2EE-> ... -
JPA详解
2011-02-17 08:54 2000JPA全称Java Persistence API.JPA通过 ... -
comparable和comparator的区别
2011-02-16 17:59 1205两者区别: 1) Comparable接 ... -
Freemarker网站静态化实现
2011-02-15 14:26 1041转载自http://www.iteye.com/topic/4 ...
相关推荐
JDK1.5新特性之注解功能(实例讲解)[文].pdf
Annotation 注解 新特性 jdk1.6 jdk1.5 很详细的学习资料
该案例实现jdk1.5新特性:java注解和java反射机制加上jdbc API综合运用的一个案例,实现了数据库的简易封装,对想了解jdk的反射机制,注解有帮助
注解是JDK1.5的新特性。 注解相当一种标记,是类的组成部分,可以给类携带一些额外的信息。 注解可以加在包,类,字段,方法,方法参数以及局部变量上。 注解是给编译器看的,编译器可以根据注解来完成对应的功能。 ...
泛型是Java SE 1.5的新特性,好处是在...注解(Annotation)是JDK1.5及以后引入的新特性,与类、接口、枚举是在同一个层次。可声明在包、类、字段、方法、局部变量、方法参数等前面,用来对这些元素进行说明,注释。
注解是JDK1.5版本开始引入的一个特性,用于对代码进行说明,可以对包、类、接口、字段、方法参数、局部变量等进行注解。它主要的作用有以下四方面: · 生成文档,通过代码里标识的元数据生成javadoc文档。 · ...
它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。 在JDK中定义了许多注解,其作用大致可以分为...
每个人的开发环境可能会有差异,但有一点我需要说明的是,JDK的版本不得低于1.5,因为用到了很多1.5版才支持的新特性。Tomcat和MySQL请不要低于我所用的版本,因为我没在其它的版本上进行测试。Navicat则是MySQL...
1. 基础:JDK,classpath,流,线程 2. java 1.5特性:注解、泛型等 3. 反射 4. 集合框架 5. 内省 6. 类加载器 8. 代理模式和面向切面编程 部分内容有代码 以上内容均为个人学习总结,可做为工具或学习使用
响应式前台设计更多特性,请自行下载查看文理后院二手购物平台一个不断升级中的JavaSSH购物平台网站项目搭建下面将介绍如何搭建该项目,使项目能够正常发布和运行环境要求请确认已经安装了下面工具:JDK1.5及以上...
1.10 基于JDK动态代理和CGLIB动态代理的实现Spring注解管理事务(@Trasactional)到底有什么区别。 1.11 在spring中获取代理对象代理的目标对象工具类 1.12 如何为spring代理类设置属性值 1.13 我对SpringDAO层支持...
/ 12 1.4.5 64位虚拟机 / 13 1.5 实战:自己编译JDK / 13 1.5.1 获取JDK源码 / 13 1.5.2 系统需求 / 14 1.5.3 构建编译环境 / 15 1.5.4 准备依赖项 / 17 1.5.5 进行编译 / 18 1.6 本章小结 / 21 第二部分 ...
其支持Jdk 1.7 +,SpringBoot 1.4.x 1.5.x 2.xx。文件| 文献资料|特性支持数据源分组,适用于多种场景纯粹的多库读写分离一主多从混合模式。支持数据库敏感配置信息加密ENC()。支持每个数据库独立初始化表结构...
5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated Properties) 5.7. 辅助数据库对象(Auxiliary Database Objects) 6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent ...
5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated Properties) 5.7. 辅助数据库对象(Auxiliary Database Objects) 6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent ...
5.5.2. 使用 JDK 5.0 的注解(Annotation) 5.6. 数据库生成属性(Generated Properties) 5.7. 辅助数据库对象(Auxiliary Database Objects) 6. 集合类(Collections)映射 6.1. 持久化集合类(Persistent ...
Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架、REST风格的Web编程模型等。这些新功能实用性强、易用性高,可大幅降低Java应用,特别是JavaWeb应用开发的难度,同时有效提升...
Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架、REST风格的Web编程模型等。这些新功能实用性强、易用性高,可大幅降低Java应用,特别是JavaWeb应用开发的难度,同时有效提升...
新特性 1,8 常见面试题剖析 2. JVM 2.0 自己编译 JDK 2.1 内存区域与OOM 2.1.1 运行时数据区域 2.1.2 2.2 垃圾收集器与内存分配策略 2.3 类加载机制 2.4 JVM 内存模型 2.5 JVM 性能监控工具与调优 2.5.1 jps 2.5.2 ...
2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的...