针对JavaBean
什么是JavaBean?(私有的字段/公开的空参构造方法/每个字段存取方法)
PropertyDescriptor表示:描述哪个字节码对象和该类的属性
pd.getWriteMethod():相当于setter()方法
pd.getReadMethod():相当于getter()方法
BeanInfo表示:某个字节码对象的所有属性的描述
任务类都会至少有一个class属性
package cn.itcast.javase.introspector;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import org.junit.Test;
public class Demo1 {
@Test
public void test1() throws Exception{
Student s = new Student();
//描述某个JavaBean的属性描述器
//参数一:表示描述哪个属性
//参数二:表示描述哪个类的字节码对象
PropertyDescriptor pd = new PropertyDescriptor("name",Student.class);
Method writer = pd.getWriteMethod();
writer.invoke(s,"jack");
System.out.println(s.getName());
}
@Test
public void test2() throws Exception{
//取得JavaBean对象的所有属性描述对象
BeanInfo bi = Introspector.getBeanInfo(Student.class);
//取得该JavaBean对象所有属性的集合
PropertyDescriptor[] pds = bi.getPropertyDescriptors();
for(PropertyDescriptor pd : pds){
//显示属性的名称
System.out.println(pd.getName());
}
//结论:属性是含有getXxxxx(),该xxxxx是属性名
}
}
分享到:
相关推荐
内省 使用命令历史 与操作系统交互 软件开发工具 IPython HTML Notebook 利用IPython提高代码开发效率的几点提示 高级IPython功能 致谢 第4章 NumPy基础:数组和矢量计算 NumPy的ndarray:一种多维数组...
本篇文章将深入探讨如何利用反射和内省技术来实现一个简单的Spring IOC。首先,我们来理解什么是反射和内省。 反射是Java提供的一种强大的动态类型机制,它允许程序在运行时检查类的信息,如类名、属性、方法等,并...
在这个主题中,我们将深入理解这两个概念,并尝试在没有使用Spring框架的情况下,通过内省(Introspection)技术来实现类似的功能。 首先,让我们解释一下IOC。在传统的编程中,对象之间存在着紧密的依赖关系,通常...
- 自动化测试:在测试中,可以使用内省来模拟方法调用,验证对象的状态或行为。 - 框架开发:许多Java框架如Spring,Struts等利用内省和BeanUtils来实现依赖注入和控制反转。 了解和掌握内省、Apache Commons ...
"return-to-abort"是一种应对策略,它利用代码内省(introspection)技术来检测并预防这种类型的崩溃。本文将详细讲解如何利用`return-to-abort`方法来保护程序免受堆栈溢出的影响。 首先,让我们理解什么是代码...
### JavaBean 及 内省概述 #### 一、JavaBean 概念 JavaBean 是一种遵循特定编码规范的 Java 类,主要用于封装数据并提供访问这些数据的方法。它被广泛应用于 J2EE 开发中,作为组件化的一部分,使得代码更易于...
在实际开发中,使用phpactor这样的工具可以显著提高生产力。例如,当需要对大量代码进行一致性更改时,重构工具可以自动替换特定模式,避免手动查找和替换可能导致的错误。此外,通过内省,开发者可以在运行时动态...
在本文中,我们将深入探讨容器内省的概念,Go语言在其中的角色,以及如何使用像`genuinetools/amicontained`这样的工具来获取关于容器的详细信息。 首先,让我们理解什么是容器内省。容器内省(Introspection)是指...
例如,在某个 Bean 中,我们可以使用内省机制来获取某个属性的 getter/setter 方法,然后使用反射机制来调用这些方法。 四、示例代码 下面是一个使用内省机制和反射机制的示例代码: ```java package MyTest; ...
下面是一个简单的示例,演示如何使用内省来获取一个对象的所有属性名称和值: ```java public class IntrospectorDemo { private String name; public String getName() { return name; } public void set...
Java反射与内省是Java编程语言中的核心特性,...然而,它们也带来了一些潜在的问题,如性能损耗和安全风险,因此在使用时应谨慎权衡。学习和掌握这些技术将有助于提升你的Java编程能力,更好地应对各种复杂的编程挑战。
### 使用 introspected-master 在提供的`introspected-master`压缩包中,可能包含了用于实现上述功能的代码库或示例。这个库可能提供了扩展JavaScript内省能力的工具,例如提供更强大的查询、遍历或修改对象结构的...
在这个"酷炫javaweb后台系统"中,包含了一些核心的JavaWeb技术和编程理念,如封装、反射和内省等。这些概念是Java编程的重要组成部分,对于理解和构建高效的应用程序至关重要。 首先,让我们来探讨一下"封装"。封装...
依赖关系 在 Ubuntu 服务器 14.04LTS 上测试 系统范围的依赖 首先,您需要先准备好您的系统。 以下是系统范围的要求列表: libgsf-1-dev uuid-dev 自动配置 ...使用来自发行版的 msitools-0.93 此
它允许在程序运行时加载、探索以及使用编译期间完全未知的 .class 文件。通过反射机制,可以在运行时判断任意一个对象所属的类、构造任意一个类的对象、判断任意一个类所具有的成员变量和方法、调用任意一个对象的...
例如,Struts和Spring框架都大量使用了内省来实现MVC模式中的模型与视图之间的数据交换。通过内省,开发者可以轻松地实现对JavaBean属性的自动化操作,提高代码的可维护性和可扩展性。 总的来说,Java内省提供了一...
递归获取所有超类-内省获取所有属性-getter-setter.zip"这个课程可能涵盖了如何利用Java的递归技术遍历类的继承树,以及通过内省机制动态访问和修改对象的属性,包括使用getter和setter方法。这些都是Java开发者必须...
Java 内省(Introspection)是Java提供的一种机制,允许程序在运行时检查对象的属性和方法。...然而,内省也有一些缺点,如性能开销较大,因为每次调用都需要反射操作,所以在对性能要求较高的场景下需谨慎使用。
本篇文章将详细讲解如何利用Django的数据库内省(Introspection)工具,通过已有的数据表名动态创建Django Models对象,以便快速地与数据库进行交互。 首先,Django的数据库内省工具是其ORM(Object-Relational ...
恰当地使用内省可以使面向对象的程序运行更加高效和强壮。也有助于避免错误地进行消息派发、错误地假设对象相等。 下面的部分举例介绍如何在代码中有效地使用NSObject的内省方法。 1、isKindOfClass:Clas