利用反射机制生成javaBean
很多框架都是采用反射来实例化对象,进行注入的。
package reflect;
public class User{
public User() {}
public User(String name,Integer age){
this.age=age;
this.name=name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
private String name;
private Integer age;
}
package reflect;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
public class MyReflect {
public Object getBean(Class cla,Map<String,Object> map)throws Exception{
Object obj=cla.newInstance();//实例对象
Field[] fields=User.class.getDeclaredFields();//得到所有私有属性
for(String key:map.keySet()){
boolean vaildate=false;
for (Field field: fields) {//属性有map 进行匹配
if(field.getName().equals(key)){
vaildate=true;
break;
}
}
if(vaildate){
String methodName="set"+key.substring(0,1).toUpperCase()+key.substring(1);
Object methodValue=map.get(key);//调用方法进行赋值
Method method=cla.getMethod(methodName, methodValue.getClass());
method.invoke(obj, methodValue);
}
}
return obj;
}
public static void main(String[] args) throws Exception {
MyReflect reflect=new MyReflect();
Map<String,Object> map=new HashMap<String,Object>();
map.put("name","张三");
map.put("age", 20);
map.put("aa", 23);//不存在的属性
User user=(User) reflect.getBean(User.class, map);
System.out.println("name:"+user.getName()+"age:"+user.getAge());
}
}
分享到:
相关推荐
JAVA 反射机制详解 JAVA 反射机制是 Java 语言中的一种动态获取信息和动态调用对象方法的功能。它允许程序在运行时获取类的信息、构造对象、获取成员变量和方法、调用对象的方法等。 Java 反射机制主要提供了以下...
#### 三、Java反射机制的核心概念与应用 1. **核心概念** - **Class对象**:每个加载到Java虚拟机中的类都会对应一个Class对象,该对象包含了类的完整信息。 - **Method对象**:表示类中的方法,通过它可以获取...
【Java反射机制详解】 在Java编程中,反射机制是一个强大的工具,它允许程序在运行时检查自身,并且能够动态地操作类和对象的内部信息。这个特性使得Java代码具有高度的灵活性,能够在不修改源码的情况下,根据需要...
java反射机制基础,是进入java反射机制的一把钥匙
Java反射机制是Java编程语言中的一个重要特性,它允许程序在运行时获取和操作任何已知名称的类的内部信息。这一机制使得Java具备了一定的动态性,虽然在传统的分类中Java被视为静态类型语言。通过反射,开发者可以在...
Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、字段和方法的信息,甚至动态地创建对象并调用其方法。通过反射,开发者可以实现高度灵活和动态的代码,这对于框架开发、元编程...
在Java编程语言中,反射机制是一项强大的工具,它允许程序在运行时检查并操作类、接口、字段和方法的信息。这篇博文"Java反射机制学习(二)"可能深入探讨了如何利用反射进行动态类型处理、访问私有成员以及创建对象...
Java反射机制是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。这个特性使得Java具有了高度的动态性和灵活性。在这个“利用java反射机制的建议计算器源码”中...
Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、对象等的内部结构。通过反射,开发者可以动态地获取类的信息并调用其方法,创建对象,访问私有成员,甚至改变类的行为。在深入...
在Java中,Class对象是反射机制的基础。我们可以通过以下几种方式获取Class对象: 1. 使用Class.forName()方法:`Class c = Class.forName("java.lang.String");` 2. 使用getClass()方法:`Class c = String....
总的来说,"JAVA反射机制的入门代码"是初学者理解Java反射机制的好教材,通过它,你可以学习如何动态地操作Java类,提高代码的灵活性,并掌握处理`properties`文件的基础方法。在深入学习和实践中,你将进一步理解...
在"JAVA私塾笔记整理——反射机制(Reflection)"这份文档中,我们将深入探讨反射机制的基础知识、用途和实现方式。 1. **反射机制的基本概念** 反射机制是Java提供的一种能够在运行时分析类和对象的能力。它允许...
本笔记主要涵盖了四个核心知识点:Java反射机制、流(I/O流)、内存管理和Java学习的基础。以下是对这些主题的详细阐述: 一、Java反射机制 Java反射机制是Java语言的一个强大特性,允许程序在运行时检查类、接口、...
Java反射机制是Java语言提供的一种强大的工具,它允许程序在运行时动态地获取类的信息(如类名、属性、方法等)并进行操作。反射机制是基于Java的动态类型特性的,它使得Java具备了“元编程”的能力,即在运行时分析...
Java反射机制是Java编程语言中的一项核心特性,它允许程序在运行时动态地获取类的信息并进行操作。这使得Java能够在编译后仍然能够灵活地处理类和对象,增强了代码的动态性。在Android应用开发中,反射机制尤其重要...
在本资料"java反射机制文档及代码"中,详细介绍了Java反射的基础知识和常见应用。 首先,反射的核心类是`java.lang.Class`,它代表了运行时的类信息。通过Class对象,我们可以获取到类的名称、包名、属性、构造器、...
三、反射机制的使用 反射机制可以在很多场景下使用,例如在框架设计中,使用反射机制可以动态地获取类的信息和调用类的方法。例如,在 Spring 框架中,使用反射机制来实例化 Bean 对象。 四、反射机制的执行流程 ...
`Class`类代表了一个类的信息,是反射机制的基础。 - **`java.lang.Class`类**:每个类都有一个对应的`Class`实例,它是反射的起点。通过`Class`类可以获取类的信息并对其进行操作。 #### 四、获取`Class`实例的...
Java反射是Java编程语言中的一个...总的来说,Java反射机制是Java编程中的一个重要工具,它扩展了语言的能力,允许我们在运行时访问和修改类的行为。理解并掌握反射原理,对于编写灵活、强大的Java应用程序至关重要。