描述
您可以使用以下方式访问基本属性:
简单属性
索引属性
映射属性
简单属性
您可以获取并设置简单使用以下API签名的属性值:
PropertyUtils.getSimpleProperty(Object,String)
PropertyUtils.SetSimpleProperty(Object,String,Object)
参数:
对象:它是一个bean对象,用于指定要提取的bean属性.
字符串:它是一个字符串名称,用于指定要提取的属性的名称./p>
索引属性
您可以使用两个选项来创建索引属性;第一个选项是将下标构建到属性名称中,第二个选项是在单独的参数中定义下标以调用方法.
索引属性可以通过使用来获取和设置以下方法:
PropertyUtils.getIndexedProperty(Object,String)
PropertyUtils.getIndexedProperty(Object,String,int)
PropertyUtils.setIndexedProperty(Object,String,Object)
PropertyUtils.setIndexedProperty(Object,String,int,Object)
参数:
对象:这是一个bean对象,它指定bean属性为提取.
字符串:这是一个字符串名称,用于指定要提取的属性的名称.
int :它设置属性值的索引.
Object :它指定索引属性elem的值ent.
映射属性
您可以获取并设置使用以下API签名映射属性值.如果你有任何额外的参数,那么它可以在括号内写成("("和")")而不是使用方括号.
PropertyUtils.getMappedProperty(Object,String)
PropertyUtils.getMappedProperty(Object,String,String)
PropertyUtils.setMappedProperty(Object,String,Object)
PropertyUtils.setMappedProperty(Object,String, String,Object)
参数:
对象:它是一个bean对象,它指定要提取的bean属性.
String :它是应为Mapped属性设置的属性值的名称.
String :它定义要设置的属性值的键.
对象:它指定要设置的属性的值.
示例
以下示例演示使用o f以上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的类.用于bean类的java :
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执行代码并显示如下输出.