- Java BeanUtils 教程
- Java BeanUtils - 首页
- Java BeanUtils - 概述
- 动态 Bean (DynaBeans)
- 背景
- 基本 DynaBeans
- ResultSetDynaClass
- RowSetDynaClass
- WrapDynaBean
- 延迟 DynaBeans
- 数据类型转换
- 背景
- BeanUtils 和 ConvertUtils
- 创建自定义转换器
- 区域感知转换
- 实用工具对象和类
- 实用工具对象和类
Java BeanUtils - 基本属性访问
描述
您可以通过以下方式访问基本属性
简单属性
索引属性
映射属性
简单属性
您可以使用以下 API 签名获取和设置**简单**属性值
PropertyUtils.getSimpleProperty(Object, String)
PropertyUtils.setSimpleProperty(Object, String, Object)
参数
**Object**: 它是一个 Bean 对象,指定要提取的 Bean 属性。
**String**: 它是一个字符串名称,指定要提取的属性的名称。
索引属性
您可以使用两种方法创建**索引**属性;第一种方法是将下标构建到属性名称中,第二种方法是在单独的参数中定义下标以调用该方法。
可以使用以下方法获取和设置索引属性
PropertyUtils.getIndexedProperty(Object, String)
PropertyUtils.getIndexedProperty(Object, String, int)
PropertyUtils.setIndexedProperty(Object, String, Object)
PropertyUtils.setIndexedProperty(Object, String, int, Object)
参数
**Object**: 它是一个 Bean 对象,指定要提取的 Bean 属性。
**String**: 它是一个字符串名称,指定要提取的属性的名称。
**int**: 它设置属性值的索引。
**Object**: 它指定索引属性元素的值。
映射属性
您可以使用以下 API 签名获取和设置**映射**属性值。如果您有任何额外的参数,则可以使用括号 ("(" 和 ")") 而不是方括号。
PropertyUtils.getMappedProperty(Object, String)
PropertyUtils.getMappedProperty(Object, String, String)
PropertyUtils.setMappedProperty(Object, String, Object)
PropertyUtils.setMappedProperty(Object, String, String, Object)
参数
**Object**: 它是一个 Bean 对象,指定要提取的 Bean 属性。
**String**: 它是应为映射属性设置的属性值的名称。
**String**: 它定义要设置的属性值的键。
**Object**: 它指定要设置的属性的值。
示例
以下示例演示了在 beanUtils 中使用上述属性
import org.apache.commons.beanutils.PropertyUtils; import java.util.ArrayList; import java.util.List; public class BeanUtilsPropertyDemo{ public static void main(String args[]){ try{ // Creating the bean and allows to access getter and setter properties MyBean myBean = new MyBean(); // Setting the properties on the myBean PropertyUtils.setSimpleProperty(myBean, "stringProp", "Hello!This is a string"); PropertyUtils.setSimpleProperty(myBean, "floatProp", new Float(25.20)); // Getting the simple properties System.out.println("String Property: " + PropertyUtils.getSimpleProperty(myBean, "stringProp")); System.out.println("Float Property: " + PropertyUtils.getSimpleProperty(myBean, "floatProp")); // Here we will create a list for the indexed property Listlist = new ArrayList (); list.add("String value 0"); list.add("String value 1"); myBean.setListProp(list); // get and set this indexed property PropertyUtils.setIndexedProperty(myBean, "listProp[1]", "This is new string value 1"); System.out.println("List Property[1]: " + PropertyUtils.getIndexedProperty(myBean, "listProp[1]")); }catch(Exception e){ System.out.println(e); } } }
现在,我们将创建一个名为 *MyBean.java* 的 Bean 类
import java.util.ArrayList; import java.util.List; public class MyBean { private String stringProp; private float floatProp; //indexed property @SuppressWarnings("rawtypes") private List listProp = new ArrayList(); public void setStringProp(String stringProp) { this.stringProp = stringProp; } public String getStringProp() { return this.stringProp; } public void setFloatProp(float floatProp) { this.floatProp = floatProp; } public float getFloatProp() { return this.floatProp; } public void setListProp(List<?> listProp) { this.listProp = listProp; } public List<?> getListProp() { return this.listProp; } }
输出
让我们执行以下步骤来查看上述代码的工作方式
将上述第一段代码保存为 *BeanUtilsPropertyDemo.java*。
现在使用“运行”选项或 Ctrl+F11 执行代码,并显示如下输出。