005-java的Annotation
一、概述
Annotation,JDK1.5开始提供
二、基本定义
public @interface HelloWorld {
}
1、使用@Interface定义,名称大写
2、使用@Target修饰能放到那些类属性上,不写是能修饰任何java上
3、元注解RetentionPolicy,表明注解的生命周期:
1、SOURCE:在原文件中有效,被编译器丢弃。
2、CLASS:在class文件有效,可能会被虚拟机忽略。
3、RUNTIME:在运行时有效。
4、成员,在注解中定义【不能是类类型,对象类型等,但是Class可以】
public String name();
增加缺省值
public String name() default "helloworld";
如果只有一个成员并且是value,在使用时可以省略,直接写值。
5、使用
@HelloWorld(name = "nihao1")
public class TestBean {
@HelloWorld(name = "nihao2")
private String name; @Override
@HelloWorld(name = "nihao3")
public String toString() {
System.out.println("zhixing");
return "TestBean [name=" + this.name + "]";
}
}
三、主要作用
1、针对以上不做任何处理其实没有任何用处
2、解析Annotation,然后处理问题
public class Parser {
public void parse(Object obj, String methodName) {
Method[] ms = obj.getClass().getMethods();
for (Method m : ms) {
if (m.getName().equals(methodName)) {
if (m.isAnnotationPresent(HelloWorld.class)) {
HelloWorld hw = m.getAnnotation(HelloWorld.class);
try {
System.out.println("before...");
m.invoke(obj, null);
System.out.println("after...");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
}
3、Annotation处理的主要方法

4、可以取代xml配置
005-java的Annotation的更多相关文章
- Java Basic - Annotation
使用注解最主要的部分在于对注解的处理,那么就会涉及到注解处理器. 从原理上讲,注解处理器就是通过反射机制获取被检查方法上的注解信息,然后根据注解元素的值进行特定的处理. 注解处理器类库( ...
- java注解(Annotation)解析
注解(Annotation)在java中应用非常广泛.它既能帮助我们在编码中减少错误,(比如最常见的Override注解),还可以帮助我们减少各种xml文件的配置,比如定义AOP切面用@AspectJ ...
- java自定义Annotation(载自百度文库)
java中自定义annotation需要@interface关键字和用到几个内置annotation. 用到的注解有@Target,@Retention,@Documented,@Inherited ...
- Java注解Annotation学习
学习注解Annotation的原理,这篇讲的不错:http://blog.csdn.net/lylwo317/article/details/52163304 先自定义一个运行时注解 @Target( ...
- java注解Annotation
扯扯注解的蛋 为什么学习注解?学习注解有什么好处?学完能做什么? 1.能够读懂别人的代码,特别是框架相关的代码 2.让编程更加简洁,代码更加清晰 3.让别人高看你一眼 注解是java1.5引入的 概念 ...
- java.lang和java.lang.annotation中实现Annotation的类小结
加了注解,等于打上了某种标记,没加,则等于没有某种标记,以后,其他程序可以用反射来了解你的类上面有无何种标记,看你有什么标记,就去干相应的事.标记可以加在类,方法,字段,包上,方法的参数上. (1) ...
- Java自定义Annotation,通过反射解析Annotation
创建一个自定义的Annotation import java.lang.annotation.*; import java.lang.reflect.Method; @Documented @Targ ...
- java 注解Annotation
什么是注解? 注解,顾名思义,注解,就是对某一事物进行添加注释说明,会存放一些信息,这些信息可能对以后某个时段来说是很有用处的. java注解又叫java标注,java提供了一套机制,使得我们可以对 ...
- Java凝视Annotation
Java凝视Annotation 从JDK 5開始,Java添加了对元数据(MetaData)的支持,也就是Annotation(凝视).Annotation提供了一种为程序元素设置元数据的方法 ...
- Java - 注解 (Annotation)
Java - 注解 (Annotation) 一.基本的 Annotation > 使用 Annotation 时要在其前面增加 @符号,并把该 Annotation 当成一个修饰符 ...
随机推荐
- oracle 中 cursor 与refcursor及sys_refcursor的区别 (转载)
http://blog.csdn.net/gyflyx/article/details/6889028 引用一.显式cursor 显式是相对与隐式cursor而言的,就是有一个明确的声明的cursor ...
- EOF ---shell编程
转自:http://blog.163.com/njut_wangjian/blog/static/1657964252013112152418345/ 在shell编程中,”EOF“通常与”<& ...
- divmod()
divmod() 接收两个数值,然后以元组的形式返回这两个数值的商和余数 In [1]: divmod(5, 2) Out[1]: (2, 1) In [2]: divmod(10, 7) Out[2 ...
- Android编译系统(Android.mk文件详解)
[Android-NDK(Native Development Kit) docs文档] NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成a ...
- GIT+ Coding使用方法
1 进入码市 :https://coding.net 注册一个账户 2 创建一个项目: 3 本地window环境.安装git : https://git-scm.com/download/win ...
- LeetCode——Best Time to Buy and Sell Stock III
Description: Say you have an array for which the ith element is the price of a given stock on day i. ...
- Linux性能监控——CPU,Memory,IO,Network
版权声明:本文由刘爽原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/107 来源:腾云阁 https://www.qclou ...
- font-size对展示的影响
实例: <head> <style type="text/css"> span{display: inline-bloc ...
- c# 计算文字高度
SizeF sizeF = g.MeasureString(listBox1.Items[e.Index].ToString(), e.Font, listBox1.Width);
- highmaps如何自定义 区间的颜色刻度
https://api.highcharts.com/highmaps/colorAxis.dataClassColor http://jsfiddle.net/gh/get/library/pure ...