- 浏览: 980001 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (223)
- JDBC技术 (29)
- Java Base (21)
- SSH框架的集合 (5)
- Javascript部分 (16)
- Sping2.5框架 (6)
- Hibernate框架 (19)
- JDBC中的数据库连接 (5)
- Ajax技术应用 (9)
- Java工具包下载 (3)
- Database (4)
- Java Web (13)
- 我的生活 (4)
- Struts2 (25)
- S2SH (1)
- Prototype (1)
- jfreeChart (5)
- JPA (7)
- JBPM (1)
- JasperReport (6)
- DWR (1)
- freeMark (2)
- IBatis (2)
- FCKeditor (2)
- POI (1)
- JQuery (6)
- JSON (1)
- JavaMail (3)
- Flex (2)
- CSS收藏夹 (1)
- 润乾报表 (2)
- 开源技术 (1)
- Android (2)
- Android_UI (1)
- Android_OS (6)
- Android_OpenLibs (3)
- Volley (1)
- JS_OpenLibs (1)
- Hessian (3)
- OS (1)
最新评论
-
damoluomu:
简单易懂
Java Web开发Session超时设置 -
di1984HIT:
学习了~~~~~~
Java Web开发Session超时设置 -
lord_is_layuping:
...
Java Web开发Session超时设置 -
15111285554:
...
Java Web开发Session超时设置 -
sfg1314:
暂停后重新下载就会报错:ClientAbortExceptio ...
Java Web 文件下载之断点续传
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import com.mengya.EnumStudy; /** * 自己定义的一个 Annotation * * @author 张明学 * */ /** * 定义注解时可以加上@Retention注解:用来设置注释保留策略。该注解有个value属性是个RetentionPolicy枚举 * RetentionPolicy.CLASS(默认值):表示:编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释。 * RetentionPolicy.RUNTIME:表示:编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取。 * RetentionPolicy.SOURCE:表示:编译器要丢弃的注释。 */ /** * 定义注解时可以加上@Target注解:用来指示注释类型所适用的程序元素的种类,该注解有个value属性是个数组 * 数组存放是个ElementType枚举:ElementType.METHOD表示方法上面 * ElementType.TYPE表示:类、接口(包括注释类型)或枚举声明 ElementType.FIELD表示:字段声明(包括枚举常量) ...... */ /** * 注解属性的定义可以是:8个基本数组类型,class类型,String类型,枚举类型,注解类型,以上类型的数组 */ @Retention(value = RetentionPolicy.RUNTIME) // @Target(value = ElementType.METHOD) @Target(value = { ElementType.METHOD, ElementType.TYPE, ElementType.FIELD }) public @interface MyAnnotation { // 定义Annotation的一个属性,可以不定义任何属性值 String value(); // 设置注解的默认值(使用该注解时不用为该属性赋值) String color() default "red"; // 设置注解属性类型为数组 int[] arrayAttr() default { 1, 2, 3 }; // 设置注解属性类型为枚举类型(TranfficLamp是EnumStudy内部定义的) EnumStudy.TranfficLamp lamp(); // 设置注解属性类型为注解类型 MetaAnnotation annotationAttr(); }
另一个注解:
public @interface MetaAnnotation { String value(); }
关相注解的学习:
import com.mengya.EnumStudy; /** * Annotation 注解 * * @author 张明学 * */ // 如果只有一个value属性,在使用该注解时可以不用使用value=""可以直接使用 // @MyAnnotation("mengya") // arrayAttr属性为数组,如果数组中的元素只有一个则可以省去{}表示数组 // @MyAnnotation(value = "mengya", arrayAttr = 1) @MyAnnotation(value = "mengya", arrayAttr = { 5, 6, 7 }, lamp = EnumStudy.TranfficLamp.RED, annotationAttr = @MetaAnnotation("xiaobojava")) public class AnnotationStudy { public static void main(String[] args) { // 通过class字节码获取某个类是否有某种类型的注解 if (AnnotationStudy.class.isAnnotationPresent(MyAnnotation.class)) { MyAnnotation myAnnotation = AnnotationStudy.class .getAnnotation(MyAnnotation.class); System.out.println(myAnnotation.getClass().getName()); System.out.println("value属性值:" + myAnnotation.value()); System.out.println("color属性值:" + myAnnotation.color()); System.out.println("arrayAttr数组属性值:" + myAnnotation.arrayAttr()); System.out.println("lamp枚举属性值:" + myAnnotation.lamp()); System.out.println("annotationAttr注解属性值:" + myAnnotation.annotationAttr().value()); } } }
$Proxy4 value属性值:mengya color属性值:red arrayAttr数组属性值:[I@1bf73fa lamp枚举属性值:RED annotationAttr注解属性值:xiaobojava
发表评论
-
HttpURLConnection附件上传
2015-05-15 18:25 3344整合了一个自己写的采用Http做附件上传的工具,分享一下! ... -
java自带线程池和队列详细讲解
2014-11-29 16:39 8449Java线程池使用说明 一简介 线程的使用在java中占 ... -
使用CGLIB的代理技术
2010-06-09 19:04 1482import java.lang.reflect.Method ... -
使用反射和注解模拟Spring的依赖注入
2010-06-09 19:00 4457作为一个应用Java的反射和注解的一个使用。 首简写一个XM ... -
Java基础十:JDK 动态代理类分析(java.lang.reflect.Proxy使用)
2010-05-28 19:25 4093/** * JDK 动态代理类分析(java.lang.r ... -
Java基础九:Java中的类加载器说明,可以对class文件加密,自定义ClassLoader
2010-05-28 19:22 3672/** * Java 类加载器 * * @aut ... -
Java基础八:泛型,?通配符
2010-05-28 19:17 6227/** * JDK1.5 泛型 * * @aut ... -
Java基础六:apache的Beanutils简单使用对JavaBean操作的封装
2010-05-28 19:08 2122/** * apache的Beanutils简单使用 ... -
Java基础五:内省(对JavaBean的操作)
2010-05-28 19:05 2305/** * Person JavaBean * ... -
Java基础四: 反射(构造方法,成员变量,普通方法,数组)
2010-05-28 18:58 5721/** * 反射(构造方法,成员变量,普通方法,数组) ... -
Java基础三: 枚举高级应用(向枚举值对象中添加变量和方法)
2010-05-28 18:45 3790/** * JDK1.5 枚举高级应用(向枚举值对象中添加 ... -
Java基础二: hashCode的作用简要说明,可能导致对象在集合中无法删除
2010-05-28 18:30 1579import java.util.ArrayList; im ... -
Java基础一: 自动装箱,折箱、静态导入、可变参数
2010-05-28 18:24 1569自动装,折箱 /** * JDK1.5 自动装箱,折箱 ... -
apache StringUtils常见用法说明
2009-10-28 17:24 43741.空字符串检查使用函数: StringUtils.isBla ... -
产生随机字符串(a-z A-Z 0-9)
2009-09-25 17:47 3045实现方法一: public class RandomFile ... -
计算离当前日期之前或之后任意天的日期
2009-06-18 13:33 1463/** * 日期计算 * * @author z ... -
计算Java日期Date,DateFormat,GregorianCalendar的使用
2009-06-16 17:09 17913概要 不管你是处理财务交易还是计划着下一步的行动,你都要知 ... -
Java计算日期今天,昨天,上周,上月
2009-06-16 16:53 8374功能:今天,昨天,本周,上周,本月,上月 范围:以周一作为一 ... -
@SuppressWarnings(unchecked)作用解释.doc
2009-05-13 09:17 34565解释一: 屏蔽某些编译时的警告信息 ... -
JDK实现AOP动态代码
2009-04-20 14:29 62代理类: import java.lang.refle ...
相关推荐
Java基础复习笔记12Java自定义注解Annotation的使用
java注解annotation
主要介绍了java 注解annotation的使用以及反射如何获取注解的相关资料,需要的朋友可以参考下
学习java自定义注解的小例子,处理运行时注解方法,可以结合博客学习,博客地址: http://blog.csdn.net/liuyonglei1314/article/details/59494503
JPA、EJB、Spring零配置等等怎么使用相信各位读者都能掌握,这里主要是说如何自定义自己的注解,自己使用自定义的注解。
Java注解Annotation用起来很方便,也越来越流行,由于其简单、简练且易于使用等特点,很多开发工具都提供了注解功能,不好的地方就是代码入侵比较严重,所以使用的时候要有一定的选择性。 这篇文章将利用注解,来做...
Java Annotation注解技术
JAVA注解(Annotation).doc JAVA注解(Annotation).doc
Java 注解(Annotation) - 请认准 ih0qtq
主要介绍了java注解annotation使用方法,注解可以定义到方法上,类上,一个注解相当与一个类,就相当于实例了一个对象,加上了注解,就相当于加了一个标志
如果你想知道java annotation是什么?你可以看看
annotation 注解 annotation的资料 JAVA注解 个人整理很有实用价值
1.Annotation注解的介绍和使用
@Target:用于描述注解的使用范围,如果自定义注解不存在@Target,则表示该注解可以使用在任何程序元素之上。接收参数ElementType,其值如下: /**接口、类、枚举、注解**/ ElementType.TYPE /**字段、枚举的常量**/...
本文针对java初学者或者annotation初次使用者全面地说明了annotation的使用方法、定义方式、分类。初学者可以通过以上的说明制作简单的annotation程序,但是对于一些高级的annotation应用(例如使用自定义annotation...
本文全面讲述了Java注解Annotation与Java自定义注解及相关内容,大家可以认真看看
在Java中,元注解(Meta-Annotation)是一种特殊类型的注解,用于注解其他注解。元注解提供对注解的元数据进行定义和控制的能力。Java中提供了几个预定义的元注解,用于定制和修改注解的行为。让我们详细介绍一下...
Java.Annotation注解.part4
利用annotation(注解)开放简化java开放步骤