- 浏览: 991178 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 3417整合了一个自己写的采用Http做附件上传的工具,分享一下! ... -
java自带线程池和队列详细讲解
2014-11-29 16:39 8513Java线程池使用说明 一简介 线程的使用在java中占 ... -
使用CGLIB的代理技术
2010-06-09 19:04 1540import java.lang.reflect.Method ... -
使用反射和注解模拟Spring的依赖注入
2010-06-09 19:00 4511作为一个应用Java的反射和注解的一个使用。 首简写一个XM ... -
Java基础十:JDK 动态代理类分析(java.lang.reflect.Proxy使用)
2010-05-28 19:25 4139/** * JDK 动态代理类分析(java.lang.r ... -
Java基础九:Java中的类加载器说明,可以对class文件加密,自定义ClassLoader
2010-05-28 19:22 3707/** * Java 类加载器 * * @aut ... -
Java基础八:泛型,?通配符
2010-05-28 19:17 6287/** * JDK1.5 泛型 * * @aut ... -
Java基础六:apache的Beanutils简单使用对JavaBean操作的封装
2010-05-28 19:08 2186/** * apache的Beanutils简单使用 ... -
Java基础五:内省(对JavaBean的操作)
2010-05-28 19:05 2375/** * Person JavaBean * ... -
Java基础四: 反射(构造方法,成员变量,普通方法,数组)
2010-05-28 18:58 5779/** * 反射(构造方法,成员变量,普通方法,数组) ... -
Java基础三: 枚举高级应用(向枚举值对象中添加变量和方法)
2010-05-28 18:45 3860/** * JDK1.5 枚举高级应用(向枚举值对象中添加 ... -
Java基础二: hashCode的作用简要说明,可能导致对象在集合中无法删除
2010-05-28 18:30 1641import java.util.ArrayList; im ... -
Java基础一: 自动装箱,折箱、静态导入、可变参数
2010-05-28 18:24 1626自动装,折箱 /** * JDK1.5 自动装箱,折箱 ... -
apache StringUtils常见用法说明
2009-10-28 17:24 44381.空字符串检查使用函数: StringUtils.isBla ... -
产生随机字符串(a-z A-Z 0-9)
2009-09-25 17:47 3134实现方法一: public class RandomFile ... -
计算离当前日期之前或之后任意天的日期
2009-06-18 13:33 1503/** * 日期计算 * * @author z ... -
计算Java日期Date,DateFormat,GregorianCalendar的使用
2009-06-16 17:09 17966概要 不管你是处理财务交易还是计划着下一步的行动,你都要知 ... -
Java计算日期今天,昨天,上周,上月
2009-06-16 16:53 8439功能:今天,昨天,本周,上周,本月,上月 范围:以周一作为一 ... -
@SuppressWarnings(unchecked)作用解释.doc
2009-05-13 09:17 34642解释一: 屏蔽某些编译时的警告信息 ... -
JDK实现AOP动态代码
2009-04-20 14:29 62代理类: import java.lang.refle ...
相关推荐
### Java自定义注解Annotation的使用 #### 1. 前言 自从JDK 1.5引入了注解这一特性以来,它已经成为Java开发中的一个重要组成部分。注解最初是为了推动EJB 3.0的普及和发展而设计的,其目的是减少配置文件的使用,...
Java注解(Annotation)是Java语言提供的一种元数据机制,用于向编译器或JVM提供额外的信息。这些信息可以用来验证代码、控制代码生成、配置应用等。注解是自Java 5版本引入的特性,它使得程序员可以在源代码中嵌入...
### 自定义注解示例 #### 定义自定义注解 自定义注解是 Java 注解的一个强大特性,允许开发者根据需要定义自己的注解类型。...理解并熟练掌握 Java 注解的使用方法对于成为一名高效的 Java 开发者至关重要。
Java注解,也称为 Annotation,是Java编程语言中的一种元数据机制,用于向编译器、JVM(Java虚拟机)或工具提供有关代码的信息。这些信息可以用来进行编译时检查、运行时处理,或者作为配置信息。注解不是程序的一...
学习java自定义注解的小例子,处理运行时注解方法,可以结合博客学习,博客地址: http://blog.csdn.net/liuyonglei1314/article/details/59494503
在实际开发中,Java注解被广泛用于Spring框架的依赖注入、JPA的实体映射、JSF的UI组件绑定等场景,极大地提高了代码的可维护性和灵活性。然而,对于更复杂的注解使用,如自定义注解生成XML映射文件,需要更深入的...
Java注解,也称为Annotation,是Java编程语言中的一种特性,用于向编译器、JVM或工具提供元数据。元数据是关于数据的数据,它提供了额外的信息,但不直接影响程序的执行。注解在代码中以`@注解名`的形式出现,主要...
Java Annotation注解技术是自Java SE 5.0版本引入的一种元编程机制,它允许程序员在源代码的各个层面(如类、方法、变量等)添加元数据,以供编译器、JVM或第三方工具在编译时或运行时进行处理。Annotation简化了...
Java注解Annotation用起来很方便,也越来越流行,由于其简单、简练且易于使用等特点,很多开发工具都提供了注解功能,不好的地方就是代码入侵比较严重,所以使用的时候要有一定的选择性。 这篇文章将利用注解,来做...
### Java 注解Annotation实例上手文档 #### 一、引言与基础知识 Java注解(Annotation)自JDK 5.0引入以来,已经成为Java语言的重要特性之一,它为代码元数据提供了一种标准化的方式,使得编译器、工具和其他框架...
接下来,我们可以在方法上使用自定义的`@TestMethod` Annotation: ```java public class Example { @TestMethod(description = "This is a test method.") public void myTestMethod() { System.out.println(...
Java提供了几种内置注解,这些注解对于理解自定义注解的使用非常重要: 1. **`@Override`**: - 作用:用于标记方法重写了父类的方法。 - 使用场景:当子类覆盖父类的方法时使用此注解。 2. **`@Deprecated`**:...
在Java编程语言中,注解(Annotation)是一种元数据,它提供了向编译器、工具或运行时系统提供额外信息的方式。自定义注解允许开发者创建自己的标记来满足特定需求,比如代码生成、验证、持久化等。本文将深入探讨...
Java注解(Annotation)是Java语言中的一个重要特性,它允许程序员在源代码中嵌入元数据(metadata),这些元数据不会直接影响程序的执行,但可以被编译器或Java虚拟机(JVM)在编译时或运行时读取,从而实现特定的...
在Spring MVC框架中,`mvc:annotation-driven`是Spring MVC配置中的一个重要元素,它使得我们的应用能够支持基于注解的控制器、数据绑定、格式化转换器和服务端验证等功能。这篇博客将深入探讨`mvc:annotation-...
开发者不仅可以使用Java内置的注解,还可以根据需求自定义注解,以满足特定的应用场景。 ##### 3.1 如何自定义注解 自定义注解通过`@interface`关键字创建,格式如下: ```java public @interface MyAnnotation {...
#### 七、Java Annotation 的处理工具 - **APT (Annotation Processing Tool)**:提供了一种机制来生成代码或其他类型的文件,如 XML 配置文件。 - **反射**:通过反射可以在运行时访问注解信息。 #### 八、Java ...