首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

[转载]Java引语-源码解析

2012-08-22 
[转载]Java注解--源码解析注解提供了一种结构化的,并且具有类型检查能力的新途径,从而使程序员能够为代码

[转载]Java注解--源码解析

注解提供了一种结构化的,并且具有类型检查能力的新途径,从而使程序员能够为代码加入元数据,而不会导致代码杂乱且难以理解。如:@Override 说明继承类或实现接口方法重载。

?

注解是在实际的源代码级别保存所有的信息,而不是某种注释性的文字。

?

在Hibernate,EJB,JPA中Column实现和应用程序案例:

?

Column.java

?

?

控制台显示的结果为:

name 20 true
description 100 false

?

应用程序简单应用源码解析:

1. Field[] fields = UseCase.class.getDeclaredFields();

通过反射,UseCase.class.getDeclaredFields()获得UseCase类的class对象的声明的域。

AnnotationParser.getDeclaredFields(...)方法

?

?

AnnotationParser.parseAnnotation(...)方法

?

?

?AnnotationParser.annotationForMap(...)方法

?

public static Annotation annotationForMap(Class paramClass, Map<String, Object> paramMap) { return (Annotation)Proxy.newProxyInstance(paramClass.getClassLoader(), new Class[] { paramClass }, new AnnotationInvocationHandler(paramClass, paramMap)); // 创建@Column对象 } ?

?

看过源码实现之后,其实就是通过Java的反射机制和代理类来创建指定域(方法或者类)的注解接口对象以及他的属性。

?

热点排行