直接上代码。
package com.test.bean; public class Person { private String name; private int age; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
package com.test.bean;
import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import org.apache.commons.beanutils.BeanUtils; public class BeanMain { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { Class<?> beanClass = Class.forName("com.test.bean.Person"); Object obj = beanClass.newInstance(); // 第一种方法 String propertyName = "age"; PropertyDescriptor pd = new PropertyDescriptor(propertyName, beanClass);// 按照属性名称得到属性相关类 Method writer = pd.getWriteMethod();// 得到写的方法 Method reader = pd.getReadMethod();// 得到读的方法 writer.invoke(obj, 22);// 写方法操作 Object age = reader.invoke(obj);// 读方法操作 System.out.println(age); // 第二种方法 BeanInfo beanInfo = Introspector.getBeanInfo(beanClass); PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors(); for (PropertyDescriptor pd1 : pds) { // System.out.println(pd1.getName()); if (pd1.getName().equals("name")) { writer = pd1.getWriteMethod();// 得到写的方法 reader = pd1.getReadMethod();// 得到读的方法 writer.invoke(obj,"haoran_10");// 写方法操作 Object name = reader.invoke(obj);// 读方法操作 System.out.println(name); break; } } //第三种方法:通过开源jar包,优点:自动转换类型,支持级联操作 BeanUtils.setProperty(obj, "sex", "man"); System.out.println(BeanUtils.getProperty(obj, "sex")); } }
相关推荐
java通过反射,修改操作类......
- **反射机制**:遍历Java Bean通常涉及使用Java的反射API。`java.lang.reflect`包中的`Class`、`Field`、`Method`类提供了访问和操作类、字段和方法的能力。 - **获取属性**:通过`Class.getDeclaredFields()`或`...
在Java编程中,反射(Reflection)是一个强大的工具,它允许我们在运行时检查和操作类、接口、字段和方法。通过反射,我们可以动态地创建对象、访问私有成员、调用私有方法,甚至改变对象的行为。Java反射 API 主要...
总之,Java Map到Bean的转换是通过反射和JavaBeans规范实现的,这是Java开发中常用的一种数据转换技巧。理解并熟练运用这些知识,能够帮助我们更高效地处理各种数据结构,提升代码的灵活性。在实际项目中,可以根据...
在给定的标题“通过java反射实现map与bean之间互转”中,我们要探讨的是如何利用Java反射机制将Map对象转换为Java Bean对象,以及反过来,将Java Bean对象转换为Map对象。这个过程在数据处理和序列化中非常常见。 ...
2. **反射机制的运用**:利用Java的反射技术,可以在运行时动态获取Java Bean的字段信息,进而构建出符合当前查询条件的SQL语句。 3. **分离数据操作与业务逻辑**:将数据操作的逻辑(如查询、更新等)从Java Bean中...
1.通过Java反射机制获取JavaBean对象。 2.通过JavaBean全路径字符串获取JavaBean对象。 3.获取JavaBean注解信息
2. 动态生成原理:解释了如何分析Java Bean的元数据(如反射API),以构建测试页面的模板。这可能涉及到对Java类的字段和方法的遍历,以及生成相应的HTML表单元素。 3. 工具或框架:可能会提及一些常用的工具或框架...
这段代码利用了反射机制,找到Java Bean类中的setter方法,根据JSON中的键值对调用setter方法设置属性值。 另一种常见的方式是使用Gson库,它的使用更加简洁。首先,引入Gson库,然后使用`Gson.fromJson()`方法进行...
Betwixt基于JavaBeans规范,通过反射和注解来实现XML和Java对象之间的映射。它通过分析Java类的结构来生成XML,或者根据XML的结构来创建Java对象实例。在处理相同节点名的情况下,Betwixt允许我们通过属性名和类型来...
转换Java Bean到Map的过程通常是通过反射机制来实现的。以下是一个简单的示例: ```java import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; public class BeanToMapConverter { ...
2. **获取Java Bean类信息**:利用反射API,通过`Class.forName()`方法获取Java Bean类的Class对象。这需要知道Java Bean的完整类名。 3. **创建Java Bean实例**:使用反射的`newInstance()`方法创建Java Bean的...
你可以遍历Map并使用反射API来设置Bean的属性: ```java MyBean myBean = new MyBean(); for (Object key : beanMap.keySet()) { myBean.getClass().getMethod("set" + key.toString().substring(0, 1)....
在Java开发中,XML(eXtensible Markup Language)常被用作数据交换格式,而Bean则代表Java对象。将Java Bean与XML进行互转是常见的需求,这有助于在不同系统间传递数据或者持久化对象状态。本篇将详细介绍两种常用...
为了解决这些问题,文章提出了一个名为Persister的类,它利用Java的反射和注解机制,来支持Java Bean的持久化操作。 Persister类的主要目的是将Java Bean中的数据操作(如添加、修改、删除、加载和查询)从Bean中...
在Java开发中,XML(可扩展标记语言)和Bean之间的互相转换是一项常见的任务,尤其是在处理配置文件、数据交换或者序列化场景中。本篇将详细阐述XML与Bean之间的转换过程,以及相关的Java技术。 首先,XML是一种...
使用 Java 反射封装 JavaBean <br> 说明:这个程序在没有使用Hiberante时挺有用的 需要一个数据库查询语句 对应的JavaBean的全名(现在是Class,原来Class.getName()) 返回List包含多个JavaBean
Java的反射机制是Java语言提供的一种强大的工具,它允许程序在运行时动态地获取类的信息并操作类的对象。反射机制的核心在于Java中的`java.lang.Class`类,它代表了类加载器加载后的类的元数据,包含了类的结构信息...