`

java annotation注释

    博客分类:
  • java
阅读更多

java annotation讲解 :http://danwind.iteye.com/blog/1140831/

 

java annotation实例:

 

package com.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD,ElementType.METHOD})
public @interface DataBaseBean
{
	public int i = 0;
	public String value() default "mysql";
}

 

利用java反射,和注释的测试用例

   class DataBase{

	@DataBaseBean
	private String name;
	@OracleAnnotation("oracle")
	private Object driver;
	private int length;
	@DataBaseBean
	public String getName(String j,String i, int ii,java.util.Date d)
	{
		return name;
	}
	public void setName(String name)
	{
		this.name = name;
	}
	public Object getDriver()
	{
		return driver;
	}
	public void setDriver(Object driver)
	{
		this.driver = driver;
	}
	public int getLength()
	{
		return length;
	}
	public void setLength(int length)
	{
		this.length = length;
	}
	
}
 

 

 

public class ReflectAnnotation
{
	public static void main(String[] args)
	{
		try
		{
			Class pojo = Class.forName("com.annotation.DataBase");
			Field[] filedList = pojo.getDeclaredFields();
			Method[] methodList = pojo.getDeclaredMethods();
			System.out.println("getClassEle----------------");
			for (int i = 0; i < filedList.length; i++)
			{
				Field file = filedList[i];
				System.out.println(Modifier.toString(file.getModifiers())+"    "+file.getType()+"    "+file.getName());
				Annotation[] annotations = file.getAnnotations();
				
				for (int j = 0; j < annotations.length; j++)
				{
					if(annotations[j].annotationType().equals(DataBaseBean.class))
					{
						DataBaseBean anno = (DataBaseBean)annotations[j];
						System.out.println("value值为"+anno.value());
					}
					else if(annotations[j].annotationType().equals(OracleAnnotation.class))
					{
						OracleAnnotation anno = (OracleAnnotation)annotations[j];
						System.out.println("value值为"+anno.value());
					}
					System.out.println("filed上的注释为"+annotations[j].annotationType());
				}
			}
			for (int i = 0; i < methodList.length; i++)
			{
				Method method = methodList[i];
				boolean MethodAnnotation = method.isAnnotationPresent(DataBaseBean.class);
			
				if(MethodAnnotation)
				{
					Class parameters[] = method.getParameterTypes();
				    System.out.print(Modifier.toString(method.getModifiers()) + " " + method.getReturnType() + " " + method.getName() + " (");
				    for(int k = 0;k < parameters.length;k++)
				    {
				     System.out.print("参数列表:"+parameters[k].toString());
				    }
				    DataBaseBean databaseBean = method.getAnnotation(DataBaseBean.class);
				    System.out.println(databaseBean.value());
				}
			}
		}
		catch (Exception e)
		{
			System.out.println("参数报错");
		}
	}
	
}
 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    java1.5 annotation注释源代码

    java1.5 annotation注释源代码,

    java-annotation-processor:JAVA注释处理器

    java-annotation-processor:JAVA注释处理器

    eclipse配置Java代码注释模板

    eclipse配置Java代码注释模板,Window -&gt; Preferences -&gt; Java -&gt; Code Style -&gt; Code Templates,点击import导入注释模板,勾选Automatically add comments for new methods and types,选择Comments和Code中的注释...

    Java用注解的方式定义一个Servlet

     像上面的AnnotationServlet可以描述成@WebServlet(name="AnnotationServlet",value="/AnnotationServlet")。  也定义多个URL访问:  如@WebServlet(name="AnnotationServlet",urlPatterns={"/Annotation...

    Java 注释编码

    比较全面的阐述如果正确的使用java annotations 协同平常的代码开发。

    jakarta.annotation-api-1.3.5-API文档-中文版.zip

    标签:annotation、api、jakarta、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    word源码java-annotation-parser:通用的注释解释器

    根据自己的了解,程序语言(重点是c++,java,javascript)的注释,一般分为两种。一种是由双斜杠(//)开头的单行注释,令外一种是由斜杠星号(/)开始和对应星号斜杠(/)结束的段落(多行)注释。在由注释生成文档...

    java或Java框架中常用的注解及其作用详解_资料.docx

    java或Java框架中常用的注解及其作用详解:Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。 Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过...

    java-annotation-processor-in-maven:在Maven中使用Java注释处理器进行测试

    在Maven中使用Java注释处理器进行测试 使用mvn clean install测试 输出示例: [loading /modules/java.base/java/lang/annotation/Annotation.class] Round 1: input files: {user.Hello} annotations: ...

    javax.annotation-api-1.2-API文档-中文版.zip

    标签:annotation、javax、api、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    java-annotation-processor-client:Java注释处理器客户端

    java-annotation-processor-client:Java注释处理器客户端

    jakarta.annotation-api-1.3.5-API文档-中英对照版.zip

    标签:annotation、api、jakarta、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译...

    javax.annotation-api-1.3.2-API文档-中文版.zip

    标签:annotation、javax、api、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    awesome-annotation-processing:与Java注释处理API(JSR 269)相关的资源的精选清单

    很棒的Java注释处理 Java注释处理(由定义)是用于连接到Java编译器的标准化API,允许您验证正在编译的代码并生成其他(源或字节)代码。 该旨在概述有关该API的有用资源,包括现有的有用注释处理器,相关演示文稿和...

    report-annotation:用于报告物化的 Java bean 注释

    所以我设计了注释机制来将 Java bean 填充为三种流行的文件格式,即 CSV、Excel 和 PDF。 安装 使用 Maven 构建在 Spring Boot 框架上运行的报告注释。 获取代码,然后运行 ​​mvn package。 Java版本1.7.X与Maven...

    graphql-java-annotations:Java的GraphQL注释

    该库为GraphQL模式定义提供了基于注释的语法。 如果您想使用使用graphql-java-annotations创建graphql spring引导服务器的工具,则可以查看库。 目录 入门 (Gradle语法) dependencies { compile " io.github....

    geronimo-annotation_1.0_spec-1.1.1-API文档-中文版.zip

    标签:annotation_1、specs、apache、0_spec、geronimo、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持...

    Hibernate Annotation笔记

    借助新的 Hibernate Annotation 库,即可一次性地分配所有旧映射文件——一切都会按照您的想法来定义——注释直接嵌入到您的Java 类中,并提供一种强大及灵活的方法来声明持久性映射。 即利用hibernate注解后,可...

    java高手真经 光盘源码

    java高手真经 全光盘源代码 打包rar 第1部分(2个程序包) HelloWorld.zip 01.Java入门样例HelloWorld demo.zip 03.Eclipse入门样例...javaannotation.zip 28.Java注释符编程 javafeature.zip 29.Java5.0语言新特性

    使用annotation获取实体类注释

    NULL 博文链接:https://zhaohaiyang.iteye.com/blog/1483811

Global site tag (gtag.js) - Google Analytics