`
yangyangmyself
  • 浏览: 233838 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java Annotation

    博客分类:
  • Java
阅读更多
很实用几个例子,在Java开发中,灵活运用可以解决很多问题,比如说持久化实现,还可以配合Struts拦截器解决权限问题,可以控制到方法。
package cn.annotation;
/**
 * Define Annotation key words is '@interface' so as class
 * If you don't set default value to attribute of field
 * when you quote defined Annotation,you should clear and define
 * attributes that you define in the Annotation
 * @author Administrator
 * @since 2011/12/21
 *
 */
@interface Myannotation{
	public String key();
	public String tableName();
	public int year();
}
public class AnnotationDemo01 {
	@Myannotation(key="yangyang",tableName="talbe",year=23)
	public void getInfo(){
		System.out.println("自定义Annotation");
	}
	public static void main(String args[]){
		AnnotationDemo01 a1 = new AnnotationDemo01();
		a1.getInfo() ;
	}
}


package cn.annotation;
/**
 * Define Annotation key words is '@interface' so as class
 * If you don't set default value to attribute of field
 * when you quote defined Annotation,you should clear and define
 * attributes that you define in the Annotation
 * @author Administrator
 *
 */
@interface Myannotation02{
	public String key() default "key";
	public String tableName() default "table";
	public int year() default 0;
}
public class AnnotationDemo02 {
	@Myannotation02
	public void printInfo(){
		System.out.println("自定Annotation,并设置默认值!");
	}
	
	public static void main(String[] args) {
		AnnotationDemo02 a2 = new AnnotationDemo02();
		a2.printInfo();
	}

}


package cn.annotation;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
 * Annoation范围:
 * RetentionPolicy.SOURCE 此Annotation信息只保留在程序源文件中(.java)
 * RetentionPolicy.CLASS 此Annotation信息保留在源程序(.java)和编译之后的类文件(.class)中,不加载到Jvm中。默认方式
 * RetentionPolicy.RUNTIME 此Annotation信息保留在源程序(.java)和编译之后的类文件(.class)中,运行时加载到Jvm中
 * @author Administrator
 *
 */
@Retention(value=RetentionPolicy.RUNTIME)
@interface Myannotation04{
	public String name() default "yangyang";
}
 



package cn.annotation;

import java.lang.annotation.Annotation;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Method;
/**
 * 通过JAVA反射取Annotation
 * 只有执行时才会加载到Jvm中,才可以取得Annotation信息
 * @author Administrator
 *
 */
@Retention(value=RetentionPolicy.RUNTIME)
@interface Myannotation05{
	public String name() default "name";
	public String sex() default "男";
	public int age() default 20;
}
class Simple{
	public void printInfo(){
		System.out.println("***");
	}
}
class SimpleBean extends Simple{
	@SuppressWarnings("Unchecked")
	@Deprecated
	@Override
	@Myannotation05(name="张三",sex="男",age=25)
	public void printInfo(){
		System.out.println("获取Annotaion信息");
	}
}
public class AnnotationDemo04 {
	public static void main(String[] args) {
		Class<SimpleBean> classz = SimpleBean.class;
		try{
			Method method = classz.getMethod("printInfo", null);
			if(method.isAnnotationPresent(Myannotation05.class)){
				Myannotation05 info = method.getAnnotation(Myannotation05.class);
				System.out.println("姓名:"+info.name()+"、 性别:"+info.sex()+"、  年龄:"+info.age());
			}
		}catch(Exception e){
			System.out.println(e.getMessage());
		}
	}
}

2
0
分享到:
评论

相关推荐

    JDK5.0 Java Annotation 介绍(ppt)

    Java Annotation 是 JDK5.0 引入的一种元数据机制,它允许程序员在代码中嵌入额外的信息,这些信息可以被编译器、构建工具或运行时系统用来执行特定的任务。Annotation 提供了一种安全、灵活的方式来描述代码的属性...

    java annotation demo

    Java 注解(Annotation)是Java语言提供的一种元编程机制,它允许程序员在源代码的各个元素(如类、方法、变量等)上添加信息。这些信息可以被编译器或运行时系统用来验证代码、执行特定操作或者提供额外的运行时...

    JAVA Annotation学习

    通过上述示例中的JavaAnnotation压缩包,你可能包含了注解的使用示例、源码以及相关的博客文章。源码可以帮助你理解注解的实际应用,而博客文章可能深入解释了注解的工作原理和最佳实践。学习这些材料,将有助于你...

    Java Annotation手册

    《Java Annotation手册》 在Java编程语言中,注解(Annotation)是一种元数据,它提供了在编译时或运行时处理代码的一种方式。通过注解,开发者可以向编译器或JVM提供有关代码的附加信息,而这些信息通常不直接影响...

    Java Annotation注解.doc

    Java Annotation,也称为注解,是Java编程语言中的一种元数据机制,用于向编译器、JVM或工具提供有关代码的附加信息。这些信息不直接影响代码的执行,但可以被编译器或运行时环境用来执行特定的操作,如代码分析、...

    Java Annotation注解技术

    Java Annotation注解技术是自Java SE 5.0版本引入的一种元编程机制,它允许程序员在源代码的各个层面(如类、方法、变量等)添加元数据,以供编译器、JVM或第三方工具在编译时或运行时进行处理。Annotation简化了...

    Java annotation (JDK5)

    Java的`javax.annotation.processing.Processor`接口定义了注解处理器的规范。 5. 使用注解 注解可以应用于类、方法、字段、参数、构造函数、包等不同级别。例如: ```java @MyAnnotation("Hello, World!") ...

    JavaAnnotation必须掌握的特性Java开发Ja

    Java注解(Java Annotation)是Java编程语言中的一个重要特性,它提供了一种元数据的方式,允许程序员在代码中嵌入额外的信息。这些信息可以被编译器、JVM或者特定工具在编译时或运行时读取,用于执行各种验证、生成...

    JavaAnnotation手册.pdf

    【Java Annotation手册】 Java Annotation是Java编程语言中的一个重要特性,它允许程序员在代码中嵌入元数据,这些元数据不直接影响程序的运行,但可以被编译器、工具或运行时环境用来验证代码、生成文档、实现依赖...

    JavaAnnotation手册[借鉴].pdf

    Java Annotation是Java编程语言中的一种特性,用于向编译器、虚拟机或其他工具提供元数据。在《Java Annotation入门》的基础上,这篇手册深入探讨了Annotation的定义、使用和功能。 一、Annotation的本质 ...

    JavaAnnotation实例.docx

    【Java Annotation 实例】 Java Annotation 是一种元数据,它允许我们在源代码中嵌入信息,这些信息可以被编译器或运行时环境用于处理代码。Annotation 不是代码本身,但可以影响代码的行为或提供编译时和运行时的...

    重难点之JavaAnnotation手册.pdf

    在《Java Annotation入门》之后的这篇《重难点之JavaAnnotation手册》中,作者深入探讨了Annotation的概念、定义以及其在Java开发中的应用。 一、Annotation是什么? Annotation是一种在代码中添加的特殊注解,用于...

    javaAnnotation.pdf

    Java Annotation 是一种在 J2SE 5.0 版本中引入的重要特性,它遵循JSR-175规范,允许程序员在代码中嵌入元数据。元数据是关于数据的数据,可以用来创建文档、追踪代码依赖关系以及执行编译时检查。在Java中,注释...

    Java Annotation(Java 注解)

    如果你想知道java annotation是什么?你可以看看

    Java注解学习1-Java Annotation认知(包括框架图、详细介绍、示例说明)

    Java 注解(Annotation)是自 JDK 5.0 版本引入的一种元数据机制,用于向编译器、开发工具和运行时系统提供有关代码的附加信息。它们并不直接影响程序的执行,但可以用于代码分析、编译时验证或者运行时处理。本文将...

Global site tag (gtag.js) - Google Analytics