「javaanno」JAVAannotation的装配
本篇文章给大家谈谈javaanno,以及JAVAannotation的装配对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java获取当前类上的注解内容
- 2、Java 注解的读取注解信息的方法
- 3、java 中 A 是什么泛型,A不是对象
- 4、java annotation有什么作用
- 5、java有哪些框架需要学习呢?
java获取当前类上的注解内容
@Retention(RetentionPolicy.RUNTIME) // 注解会在class字节码文件中存在,在运行时可以通过反射获取到
@Target({ElementType.FIELD,ElementType.METHOD})//定义注解的作用目标**作用范围字段、枚举的常量/方法
@Documented//说明该注解将被包含在javadoc中
public @interface FieldMeta {
/**
* 是否为序列号
* @return
*/
boolean id() default false;
/**
* 字段名称
* @return
*/
String name() default "";
/**
* 是否可编辑
* @return
*/
boolean editable() default true;
/**
Java 注解的读取注解信息的方法
属于重点,在系统中用到注解权限时非常有用,可以精确控制权限的粒度
注意:要想使用反射去读取注解,必须将Retention的值选为Runtime Java代码import java.lang.annotation.Annotation;import java.lang.reflect.Method;//读取注解信息public class ReadAnnotationInfoTest { public static void main(String[] args) throws Exception { // 测试AnnotationTest类,得到此类的类对象 Class c = Class.forName(com.iwtxokhtd.annotation.AnnotationTest); // 获取该类所有声明的方法 Method[] methods = c.getDeclaredMethods(); // 声明注解集合 Annotation[] annotations; // 遍历所有的方法得到各方法上面的注解信息 for (Method method : methods) { // 获取每个方法上面所声明的所有注解信息 annotations = method.getDeclaredAnnotations(); // 再遍历所有的注解,打印其基本信息 System.out.println(method.getName()); for (Annotation an : annotations) { System.out.println(方法名为: + method.getName() + 其上面的注解为: + an.annotationType().getSimpleName()); Method[] meths = an.annotationType().getDeclaredMethods(); // 遍历每个注解的所有变量 for (Method meth : meths) { System.out.println(注解的变量名为: + meth.getName()); } } } }}
java 中 A 是什么泛型,A不是对象
A应该是注解的Class;
对比参照以下信息:
1. Class有一个方法:isAnnotationPresent(Class? extends Annotation anno)
是用来判断anno是不是代表注解的,参数的泛型使用了extends,但anno是定义的注解的Class,并不是Annotation的子类或接口实现类,这也可以通过Class类方法isAssignableFrom(Class? cls)来判断.说明注解并不是Annotation的子类或实现类
2. Class还有两个方法:isAnnotation()和isInterface(),如果用注解来判断,这两个返回值都是true,但由1知道注解不是Annotation的子类,从表面看这就有问题了,为什么注解是Annotation却不是其子类呢?从isAnnotation()的解释可以得到答案:Returns true if this Class object represents an annotation type.这里使用了represents而不是extends
3. 从1和2的分析,问题就回到了泛型中extends的含义了,? extends不一定表示继承的子类或接口实现类!!
java annotation有什么作用
Annontation是Java5开始引入的新特征。中文名称一般叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。
annotation一般作为一种辅助途径,应用在软件框架或工具中,在这些工具类中根据不同的 annontation注解信息采取不同的处理过程或改变相应程序元素(类、方法及成员变量等)的行为。
例如:Junit、Struts、Spring等流行工具框架中均广泛使用了annontion。使代码的灵活性大提高。
从java5版本开始,自带了三种标准annontation类型,
(1)、Override
java.lang.Override 是一个marker annotation类型,它被用作标注方法。它说明了被标注的方法重载了父类的方法,起到了断言的作用。如果我们使用了这种annotation在一个没有覆盖父类方法的方法时,java编译器将以一个编译错误来警示。
这个annotaton常常在我们试图覆盖父类方法而确又写错了方法名时加一个保障性的校验过程。
(2)、Deprecated
Deprecated也是一种marker annotation。当一个类型或者类型成员使用@Deprecated修饰的话,编译器将不鼓励使用这个被标注的程序元素。所以使用这种修饰具有一定的 “延续性”:如果我们在代码中通过继承或者覆盖的方式使用了这个过时的类型或者成员,虽然继承或者覆盖后的类型或者成员并不是被声明为@Deprecated,但编译器仍然要报警。
注意:@Deprecated这个annotation类型和javadoc中的 @deprecated这个tag是有区别的:前者是java编译器识别的,而后者是被javadoc工具所识别用来生成文档(包含程序成员为什么已经过时、它应当如何被禁止或者替代的描述)。
(3)、SuppressWarnings
此注解能告诉Java编译器关闭对类、方法及成员变量的警告。
有时编译时会提出一些警告,对于这些警告有的隐藏着Bug,有的是无法避免的,对于某些不想看到的警告信息,可以通过这个注解来屏蔽。
SuppressWarning不是一个marker annotation。它有一个类型为String[]的成员,这个成员的值为被禁止的警告名。对于javac编译器来讲,被-Xlint选项有效的警告名也同样对@SuppressWarings有效,同时编译器忽略掉无法识别的警告名。
java有哪些框架需要学习呢?
Java有三大框架:Struts,Hibernate和Spring。struts是开源软件,通过学习struts的流程,架构,model部分,view部分和contorller组件来了解框架;Hibernate是开源代码的对象关系映射框架,通过学习session接口等来了解框架。
1.三大框架简介1、Spring Spring 是一个解决了许多在J2EE 开发中常见的问题的强大框架. Spring 提供了管理业务对 象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯.Spring 的架构基础是 基于使用JavaBean 属性的Inversion Control容器.然而,这仅仅是完整图景中的一部 分:Spri
跟着这个网站学吧:网站内容丰富,既有Java SE的基础:中级:前端:J2EE:Java框架:还有实践项目:我自己就是跟着上面的顺序一路学过来...
2.Java 语言编写的 AOP 框架,它给 POJOs 提供了声明式的事务管理和其他企业事务--如... 开始的学习和应用非常的艰苦,很多东西都不 能一下子就很容易的理解.EJB 要严格地...
这是两种以跨平台为特色的开发方式.Qt更多被认为是一种框架,但是Qt中有新增一些C... 博文 在博主认为,学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将...查看全部
2016年8月22日-根据每个人的学习方式、方法不同,可以制定具体的计划。今天为大家整理了搭建Java知识框架的几个方法... java框架SSM一. 序言本次培训分四个阶段进行,...
3.2008年1月3日-和如何学习JAVA框架的一点看法吧,希望对“望而生畏”的您,和“蠢蠢欲动... 自己需要的时候去copy过来就行,个人也认为这是很好的一种方式,往往自己从... 这就是第二个问题。 第二个问题,我想分两方面来回答一下。1、学什么?想要学好,当...
2016年8月3日- 用配置文件或者是Annonation的方式来代替New创建实例,可以说这是一个... Java框架学习 顺序是哪些? Java框架学习 顺序是哪些?详细步骤具体如下:...
[ 图文 ] 2013年12月9日- 三大框架简介JAVA三大框架用来做WEB应用。struts主要负责表示层的显示spring利用Java框架学习方法更多下载资源、学习资料请访问CSDN文库频道....
Java 语言编写的 AOP框架, 它给 POJOs 提供了声明式的事务管理和其他企业事务--如... 在 EJB 开始的学习和应用非常的艰苦, 很多东西都不能一下子就很容易的理解.
希望能帮到你,谢谢!
javaanno的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于JAVAannotation的装配、javaanno的信息别忘了在本站进行查找喔。