public class ReflectPoint {
public int x;
public int y;
public ReflectPoint(int x, int y) {
super();
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class IntroSpectorTest {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
ReflectPoint rp = new ReflectPoint(1,2);
getPorperties(rp);
getProperties(rp);
Object y = 7;
SetProterties(rp, y);
}
//用反射获得指定JAVABean属性的值
private static void getPorperties(ReflectPoint rp)
throws Exception {
Field field = rp.getClass().getDeclaredField("x");
System.out.println(field.get(rp));;
}
//用反射设置指定JAVABean属性的值
private static void SetProterties(Object rp, Object y)
throws Exception{
PropertyDescriptor pd2 = new PropertyDescripto("y",rp.getClass());
Method method = pd2.getWriteMethod();
method.invoke(rp, y);
System.out.println(((ReflectPoint) rp).getY());
}
//用反射获得指定JAVABean属性的值
private static void getProperties2(Object rp)
throws Exception{
PropertyDescriptor pd = new PropertyDescriptor("x",rp.getClass());
Method methodGetx = pd.getReadMethod();
Object retvalx = methodGetx.invoke(rp);
System.out.println(retvalx.getClass().getName());
}
}
分享到:
相关推荐
### JavaBean属性命名规范 JavaBean是一种遵循特定编码标准的Java类,主要用于封装数据或表示简单的数据载体。在JavaBean中,属性的命名规范是非常重要的,因为它直接影响到代码的可读性和可维护性,同时也会影响到...
5. **调用setter方法**:通过反射调用setter方法,将转换后的值赋给JavaBean的相应属性。 #### 示例代码解析 在提供的代码片段中,可以看到`ParameterUtil`类的核心方法`setFormBean()`实现了上述逻辑。该方法接受...
反射机制则是Java语言提供的一种强大的工具,允许程序在运行时动态获取类的信息(如类名、属性、方法等)并进行调用。 首先,让我们详细讲解JavaBean。JavaBean是符合一定规范的Java类,主要特点是:公开的构造函数...
本项目为Apache Commons子项目——commons-beanutils的核心源码,专注于利用Java反射机制高效处理JavaBean属性。该项目结构丰富,包含331个文件,涵盖295个Java源文件、14个XML文件、5个文本文件等,旨在为Java开发...
### JavaBean与反射:深入解析 #### JavaBean概念与特性 JavaBean,作为Java语言中的一种软件组件架构,被设计为可重用的组件,特别适用于图形用户界面(GUI)开发领域。它不仅简化了GUI应用程序的构建过程,还...
JavaBean是一种Java语言编写的标准组件,它遵循一定的编码规范,如:拥有公共无参构造函数、所有属性私有化并提供公共的getter和setter方法等。JavaBean通常用于封装数据,在本案例中,我们将使用JavaBean作为数据...
1.通过Java反射机制获取JavaBean对象。 2.通过JavaBean全路径字符串获取JavaBean对象。 3.获取JavaBean注解信息
4. 反射机制:JavaBean的属性、事件和方法可以通过反射API动态访问,增强了程序的灵活性。 使用JavaBean的场景: 1. MVC架构:在Model部分,JavaBean用于封装业务逻辑和数据,与View和Controller进行交互。 2. JSP...
例如,通常我们需要遍历JSON对象的每一个键值对,然后逐个设置到对应的JavaBean属性上,而工具方法通过反射可以自动化这一过程。 6. **性能考虑** 尽管反射提供了解耦和灵活性,但它的性能通常比直接的getter/...
- **使用get/set方法访问其属性**:JavaBean的属性通常遵循JavaBeans规范,即通过get和set方法来访问和修改。 JavaBean提供了一种封装功能、处理逻辑、值、数据库访问等的能力,使得其他开发者可以通过内部的JSP...
- **反射**:在运行时动态地获取类的信息并操作JavaBean。 - **JSP页面**:在Web开发中,JavaBean可以作为模型层,与JSP视图层进行数据交换。 5. **JavaBean在MVC架构中的角色**: 在MVC架构中,JavaBean作为...
在Java开发中,JavaBean是一种遵循特定规范的Java类,通常用于封装数据并提供相应的getter和setter方法。在数据库操作中,将SQL查询结果映射到Java对象是常见的需求,这时JavaBean的作用就显现出来了。...
把一个javabean里面的属性值复制到另外一个javabean中相同的属性值
通过上述步骤,我们可以编写一个通用的工具方法,接受类名、属性名和值作为参数,利用反射填充JavaBean的属性。这样的实现对于处理大量相似对象的初始化或数据绑定场景非常有用,例如在数据持久化、JSON序列化/反...
3. **无参构造函数**:JavaBean必须有一个公共的无参构造方法,这是为了让反射机制能够正常工作。 4. **公共的get/set方法**:对于私有字段,需要提供公共的getter和setter方法,这些方法通常命名为`getXXX`和`...
- JDK的反射机制允许动态访问对象的属性和方法,而JDK 1.5引入的标注可以为程序元素关联信息,这些信息可以通过反射机制访问。 2. **设计与实现**: - 为了简化JavaBean的持久化过程,文章提出使用Java的标注和...
5. 反射和序列化:JavaBean支持反射API,允许在运行时动态地获取类的信息和调用方法。同时,JavaBean默认实现了Serializable接口,可被序列化和反序列化,方便在网络间传输或持久化存储。 在描述中提到的“可直接用...
2. **设置JavaBean属性**: - 使用`<jsp:setProperty>`标签设置JavaBean的属性值。 ```jsp *"/> ``` - 参数解释: - `name`: 已经实例化的JavaBean的ID。 - `property`: 要设置的属性名称,使用`*`表示设置...
你可以看到这个类对属性的存取方法(getter and setter method)使用了标准JavaBean命名约定,同时把类属性(field)的访问级别设成私有的(private)。这是推荐的设计,但并不是必须的。Hibernate也可以直接访问...
// 使用BeanUtil工具类填充JavaBean属性 BeanUtils.populate(user, paramMap); } catch (IllegalAccessException | InvocationTargetException e) { e.printStackTrace(); } // 现在,user对象已经被填充了...