Java注解Annotation的基础实例
2016-01-13 16:00
495 查看
java中Annotation注解的好处是使代码更简洁。下面通过一个简单的例子来展示下Annotation如何使用。
首先,写一个自定义的Annotation
@Retention(RetentionPolicy.RUNTIME) //生存周期为运行时
@Target(ElementType.METHOD) //应用对象为方法
public @interface MyTag {
String name() default "张国荣";
}
然后,使用这个Annotation来修饰需要的类
public class Demo {
public static void method1(){
}
@MyTag(name="刘德华")
public static void method2(){
}
}
然后,需要自己编写如何解析这个Annotation的业务逻辑,使用到反射
public class ProcessTool {
public static void process(String clazz) {
// TODO Auto-generated method stub
Class targetClass = null;
try{
targetClass = Class.forName(clazz);
}catch(Exception e){
e.printStackTrace();
}
for(Method m:targetClass.getMethods()){
if(m.isAnnotationPresent(MyTag.class)){
MyTag tag = m.getAnnotation(MyTag.class);
System.out.println("被MyTag注解修饰的方法名称:"+m.getName()+",注解内容为:"+tag.name());
}else{
System.out.println("没被MyTag注解修饰的方法名称:");
}
}
}
}
最后,运行Demo
public class Test {
public static void main(String[] args){
ProcessTool.process("com.meiyang.annotation.Demo");
}
}
运行结果为:
没被MyTag注解修饰的方法名称:
被MyTag注解修饰的方法名称:method2,注解内容为:刘德华
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
首先,写一个自定义的Annotation
@Retention(RetentionPolicy.RUNTIME) //生存周期为运行时
@Target(ElementType.METHOD) //应用对象为方法
public @interface MyTag {
String name() default "张国荣";
}
然后,使用这个Annotation来修饰需要的类
public class Demo {
public static void method1(){
}
@MyTag(name="刘德华")
public static void method2(){
}
}
然后,需要自己编写如何解析这个Annotation的业务逻辑,使用到反射
public class ProcessTool {
public static void process(String clazz) {
// TODO Auto-generated method stub
Class targetClass = null;
try{
targetClass = Class.forName(clazz);
}catch(Exception e){
e.printStackTrace();
}
for(Method m:targetClass.getMethods()){
if(m.isAnnotationPresent(MyTag.class)){
MyTag tag = m.getAnnotation(MyTag.class);
System.out.println("被MyTag注解修饰的方法名称:"+m.getName()+",注解内容为:"+tag.name());
}else{
System.out.println("没被MyTag注解修饰的方法名称:");
}
}
}
}
最后,运行Demo
public class Test {
public static void main(String[] args){
ProcessTool.process("com.meiyang.annotation.Demo");
}
}
运行结果为:
没被MyTag注解修饰的方法名称:
被MyTag注解修饰的方法名称:method2,注解内容为:刘德华
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
没被MyTag注解修饰的方法名称:
相关文章推荐
- Spring -- 手动调用spring托管BEAN
- 6.java成长之路——重读java编程思想06
- 使用Spring JDBCTemplate进行增删改查curd操作
- Java中对象的深复制(深克隆)和浅复制(浅克隆)介绍
- java中的输入输出流的理
- Spring 依赖的Jar包简介
- java数制之间的转换
- java文件类学习——遍历文件+递归
- java连接数据库
- Java学习笔记之多态
- Java应用程序中System.out.println输出中文乱码
- java常量使用比较好的方法
- java 数据库连接池比较(c3p0,dbcp和proxool)
- 项目中一些java知识的整理和总结
- Java创建和解析Json数据方法(四)——json-lib包的使用
- Spring Boot初体验
- Java中的private、protected、public和default的区别
- java web工作原理
- JAVA内存处理--堆和栈
- 一步一步理解 Java 企业级应用的可扩展性