`

java bean简单内省操作

 
阅读更多

package introSpector;

 

import java.beans.IntrospectionException;

import java.beans.PropertyDescriptor;

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

import org.junit.Test;

 

/**

 * java自带的api可以直接对java bean对象进行get/set操作

 * @author lxf

 *

 */

public class Learn {

@Test

public void test_1() throws Exception{

ReflectPoint rp = new ReflectPoint();

String property = "x";

String property2 = "detail";

writeProperty(rp,property,123);

System.out.println(this.getProperty(rp, property));

writeProperty(rp,property2,"detail content");

System.out.println(this.getProperty(rp, property2));

}

 

/**

* param object 对象

* param property 属性名

*/

private Object getProperty(Object object, String property) throws IntrospectionException,

IllegalAccessException, IllegalArgumentException,

InvocationTargetException {

PropertyDescriptor pd = new PropertyDescriptor(property,object.getClass());

Method readMethod = pd.getReadMethod();

Object r = readMethod.invoke(object);

return r;

}

/**

* param object 对象

* param property 属性名

* param propertyValue 属性值

*/

private void writeProperty(Object object, String property,Object propertyValue)

throws IntrospectionException, IllegalAccessException,

IllegalArgumentException, InvocationTargetException {

PropertyDescriptor pd = new PropertyDescriptor(property,object.getClass());

Method writeMethod = pd.getWriteMethod();

writeMethod.invoke(object, propertyValue);

}

}

 

分享到:
评论

相关推荐

    Java_Bean教程

    Java Bean的五种重要机制包括内省(Introspection),使得组件可以公开其支持的操作和属性;通信(Communication),处理组件间的消息传递;持久化(Persistence),保存组件的状态;属性(Properties),控制组件的...

    Java反射与内省-PPT

    Java反射与内省是Java编程语言中的核心特性,它们为开发者提供了强大的能力,可以在运行时检查和操作类、接口、对象及其属性。本PPT深入探讨了这些概念,旨在帮助开发者充分利用Java平台的灵活性。 首先,Java反射...

    Java中的内省与反射.doc

    内省是Java为Bean类提供的对属性和事件的默认处理机制。Bean类通常遵循一定的命名规范,如属性名为 `name`,则对应的getter和setter方法分别为 `getName()` 和 `setName()`。Java提供了一系列API来帮助开发者方便地...

    JAVA的内省机制(introspector)与反射机制(reflection).docx

    内省机制和反射机制是两种不同的机制,内省机制主要用于访问某个 Bean 的属性和事件,而反射机制则可以用于访问和操作任何对象的属性和方法。它们经常被结合使用,以便更好地实现实际应用中的需求。

    Java Beans 讲解

    一个Java Bean是一个实现了特定功能的Java类,其内部细节对外部是封装的,用户仅能通过预定义的接口来操作。这提高了代码的重用性和模块化。 17.2 Java Bean 编写规范 编写Java Bean时,需遵循一定的命名和设计规则...

    用反射和内省技术实现简单SpringIOC

    本篇文章将深入探讨如何利用反射和内省技术来实现一个简单的Spring IOC。首先,我们来理解什么是反射和内省。 反射是Java提供的一种强大的动态类型机制,它允许程序在运行时检查类的信息,如类名、属性、方法等,并...

    xmlbean API

    5. **性能优化**:XMLBean利用了Java的反射机制和内省(Introspection)来提高处理速度。虽然反射有时被认为会影响性能,但在XMLBean中,这种开销被精心设计的缓存机制所抵消,使其在大多数情况下能够提供良好的性能...

    javabean基础教程

    在JSP(JavaServer Pages)中,Java Bean尤其常见,因为它们可以通过内嵌的Java代码轻松访问和操作。 17.1 Java Bean 技术概述 Java Bean 是基于Java的组件模型,它允许开发者创建可独立管理的、封装良好且易于重用...

    Java内省实例解析

    总的来说,Java内省提供了一种强大的工具,让我们能够在运行时动态地探索和操作Java对象,特别是对于符合JavaBean规范的对象。这使得我们可以编写更加灵活、可复用的代码,而不需要对每个对象的内部结构有深入的了解...

    JavaBean技术PPT学习教案.pptx

    在实际开发中,JavaBean经常被用在JSP中,作为页面的数据模型,通过EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)标签来访问和操作Bean的属性,从而实现动态网页的生成。此外,...

    Java 内省introspector相关原理代码解析

    Apache Commons BeanUtils库进一步简化了内省操作。在示例中,虽然没有直接使用,但`BeanUtils`类提供了便捷的API来复制属性、设置值等。例如,`BeanUtils.copyProperties(Object dest, Object src)` 可以将源对象的...

    JavaBean及内省文档

    在 J2EE 应用中,内省机制常用于框架自动识别 JavaBean 的属性,并根据这些属性进行相应的操作,例如:在容器中自动注入依赖。 ### 总结 JavaBean 作为一种标准的组件模型,在 Java 开发中起着重要作用。它不仅有...

    Java基础加强-个人总结doc

    3. **内省(Introspection)**:内省是Java提供的一组API,用于在运行时检查类的属性和方法。它可以查看类的信息,如字段、方法和构造函数,并进行调用,是反射的一个子集,但更专注于Bean属性的操作。 4. **注解...

    酷炫javaweb后台系统适合初学者【里面有封装 反射内省等】

    Java的java.beans包提供了内省支持,可以用来动态地获取和设置Bean的属性,调用其方法。在JavaWeb开发中,内省可以帮助我们实现更灵活的组件交互,尤其是在处理用户界面和业务逻辑之间的数据交换时。 该后台系统...

    Beans使用 Beans使用

    Beans 是一种强大且简单的组件方式,它可以将 Java 编程中的逻辑放在 Bean 的方法中,使开发人员可以更方便地操作和开发。 Beans 的方法调用可以处理几乎所有通过 Java 编程可以完成的工作,这使得 JSP 的开发更加...

    2022年品味Spring 的魅力Java教程.docx

    通过BeanWrapper,开发者可以方便地操作Bean,无论是简单的属性赋值,还是复杂的嵌套属性处理,甚至是方法调用,都能得以实现。 例如,在给定的代码示例中,我们创建了一个`Company`和一个`Employee`对象,然后使用...

    自动装配Beanutils.zip

    Spring框架的@Autowired注解可以自动将依赖注入到bean中,但这里我们讨论的是基于Servlet和纯Java的BeanUtils自动装配,它们在原理上是相似的,都是利用反射和内省来实现对象的初始化和属性赋值。 总结起来,`...

    commons-beanutils-1.9.2-bin.zip

    Apache Commons BeanUtils是Java开发中的一个强大工具,它通过提供简单易用的API,使得操作Bean的属性变得更加便捷,尤其在处理数据绑定和大量Bean操作的场景下,极大地提高了开发效率。这个1.9.2版本的库包含了所有...

    Developing java Beans

    - **事件适配器(Event Adapters)**:提供了一个简单的基础类,可以从中选择性地覆盖感兴趣的方法来处理事件。 - **事件过滤(Event Filtering)**:允许根据特定条件过滤传入的事件。 - **事件队列(Event ...

    jmx技术介绍(ppt)

    标准MBean适用于定义明确、稳定的资源,它们基于Java Bean模式,通过内省机制获取属性和方法信息。动态MBean则提供了更大的灵活性,包括Open MBean和Model MBean,用于管理动态或复杂的数据结构。 **总结** JMX技术...

Global site tag (gtag.js) - Google Analytics