`

java注解方式进行反射

    博客分类:
  • JAVA
阅读更多

我的博客网站:http://www.zeromike.net/

本文地址:http://www.zeromike.net/?p=48

反射的一种使用场景是业务代码里有很多不同的方法,通过客户端传入方法名称和参数调用执行业务方法。我这里只写出示意性代码,下篇我会写phonegap插件怎么写。

1.注解代码

 

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

   @Retention(RetentionPolicy.RUNTIME)//表示注解的信息被保留在class文件(字节码文件)中当程序编译时,会被虚拟机保留在运行时
   @Target(ElementType.METHOD)//说明该注解只能被声明在一个类的方法前
   public @interface MyAnnontion {

   }

 

2.业务代码

public class MyTest {
	@MyAnnontion
	public void sendMessage(String message){
		System.out.println("send Message..."+message);
	}
	@MyAnnontion
	public void findAll(){
		System.out.println("find all...");
	}
}

 

3.测试代码

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class MyMain {

	public static void main(String[] args) throws IllegalAccessException,
			IllegalArgumentException, InvocationTargetException {
		Method[] method = MyTest.class.getMethods();
		MyTest test = new MyTest();
		for (Method m : method) {
			MyAnnontion annotation = m.getAnnotation(MyAnnontion.class);// 获得当前方法注解
			if (annotation != null) {
				int isParam = m.getParameterTypes().length;// 判断是否有参数
				if (isParam == 0) {
					m.invoke(test);
				} else {
					m.invoke(test, new Object[] { "abc" });
				}
			}
		}
	}

}

 

 

结果:

 

find all...

send Message...abc

 

原文链接:http://www.zeromike.net/?p=48

原文作者:zeromike

0
0
分享到:
评论

相关推荐

    java注解和反射的个人学习笔记

    java注解和反射的个人学习笔记

    java注解、java反射机制 jdbc 封装

    Java注解和反射机制是Java开发中的重要工具,它们极大地增强了代码的可读性和灵活性。在结合JDBC(Java Database Connectivity)API时,可以构建出更高效、更易维护的数据访问层。本案例通过注解的方式,简化了JDBC...

    Java自定义注解使用反射获取字段注解

    总结一下,Java的自定义注解结合反射机制,为我们提供了强大的元数据功能,可以用来增强代码的可读性、可维护性,甚至实现一些动态的功能。在实际开发中,自定义注解常用于框架的实现、AOP切面编程、配置管理等领域...

    java 通过反射获取类上注解,方法上注解,注解里的值及方法参数

    在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中插入信息的方式,这些信息可以被编译器或运行时环境读取。反射(Reflection)是Java的一个强大特性,允许程序在运行时检查类、接口、字段和方法等...

    一种基于Java注解和反射机制的Excel文件读写操作方法.pdf

    本研究提出了一种改进型的Excel文件读写操作方法,该方法通过Java注解和反射机制,实现了业务逻辑与文件操作的分离,使得应用程序能够更灵活地处理Excel文件数据。 4. 松耦合编程思想:在软件工程中,松耦合是一种...

    java自定义注解和通过反射获取注解

    注解(Annotation)是一种元数据,提供了在编译时和运行时对代码进行标记的方法,而反射(Reflection)则是Java提供的一种能力,允许程序在运行时检查和操作类、接口、字段和方法等对象。接下来,我们将深入探讨这两...

    Java注解、反射、动态代理demo

    Java注解、反射、动态代理demo

    java注解_反射_字节码_类加载机制.zip

    Java注解、反射、字节码和类加载机制是Java编程中的核心概念,它们在实际开发中扮演着重要角色。让我们深入探讨这些知识点。 **Java注解(Annotation)**: Java注解是一种元数据,它提供了在编译时或运行时处理代码的...

    java注解和反射的12个demo.zip

    Java注解和反射是Java编程中的重要特性,它们极大地增强了代码的灵活性和可维护性。在Java中,注解(Annotation)是一种元数据,它提供了将信息附加到代码(类、方法、变量等)的方式,而反射则允许我们在运行时检查...

    利用JAVA注解与反射 - 实现SQL语句自动生成

    利用JAVA注解实现SQL语句自动生成 编写对应Entity添加相关注解,并通过SqlUtil工具,传入相关参数生成SQL语句 例如:要生成对应数据库Person的SQL增删改查 SqlUtil.create(Person.class) SqlUtil.insert(Person....

    Java注解实现方式

    Java注解是Java编程语言中的一个重要特性,它允许程序员在代码中嵌入元数据,这些元数据可以被编译器或运行时环境用来执行各种任务,例如代码分析、验证、生成代码、部署等。注解提供了更加灵活和可扩展的方式来处理...

    java泛型反射注解

    先说一下遇到的问题:通过使用GSON泛型进行报文转换的时候想要对部分关键字段加密,...解决过程:首先通过反射获取到bean下的对象名称。 对象名称获取到了之后需要获取对应的值 对值进行加密,然后再重新赋值到该对象

    Java基础入门四泛型反射注解.pdf

    Java基础入门系列是帮助初学者掌握Java编程的重要学习材料,本篇主要介绍了泛型、反射和注解这三大高级特性。 泛型是Java SE 5版本引入的一个新特性,它的主要目的是允许在使用类、接口和方法时能够引用到任何类型...

    Android-注解与反射注解知识点反射知识点注解java反射

    在Java中,注解分为保留期注解(如@Override、@Deprecated)、编译器注解(用于编译时检查)和运行时注解(可以在运行时通过反射获取)。 2. **自定义注解**:开发者可以通过`@interface`关键字自定义注解,定义...

    利用java反射、注解及泛型模拟ORM实现

    这篇博文“利用java反射、注解及泛型模拟ORM实现”旨在探讨如何结合这三种技术来实现对象关系映射(ORM),这是一种将数据库表与Java对象之间进行绑定的技术,简化了数据操作。 首先,我们来理解一下这三个概念: ...

    一种基于Java注解和反射机制的Excel文件读写操作方法.zip

    综上所述,基于Java注解和反射机制的Excel文件读写操作方法是一种将面向对象的编程理念应用于数据操作的有效方式。通过这种方式,我们能够以声明式的方式定义数据结构与Excel文件格式之间的映射,从而简化了代码,...

    java 反射实例,大量注释,简单易懂

    以下是对"java 反射实例,大量注释,简单易懂"这个主题的详细解释: 1. **反射基础**: - Java反射API主要由`java.lang.reflect`包提供,包括`Class`,`Constructor`,`Method`和`Field`等类。 - `Class`类代表...

    Javafanshe.rar_java 反射_java反射_反射_反射机制

    这一机制使得Java具有了高度的动态性,能够实现元编程,即在程序运行时检查类和对象的属性,并对它们进行操作。 在《Java反射》这个资源中,可能包含了以下知识点: 1. **反射的基本概念**:解释什么是反射,以及...

Global site tag (gtag.js) - Google Analytics