基本财产访问(Basic Property Access)

优质
小牛编辑
128浏览
2023-12-01

描述 (Description)

您可以使用以下方法访问基本属性:

  • 简单的财产

  • 索引财产

  • 地图属性

简单的财产

您可以使用以下API签名来获取和设置simple属性值:

  • PropertyUtils.getSimpleProperty(Object, String)

  • PropertyUtils.SetSimpleProperty(Object, String, Object)

参数:

  • Object :它是一个bean对象,它指定要提取的bean属性。

  • String :它是一个字符串名称,指定要提取的属性的名称。

索引财产

您可以使用两个选项来创建indexed属性; 第一个选项是将下标构建为属性名称,第二个选项是在单独的参数中定义下标以调用方法。

可以使用以下方法获取和设置索引属性:

  • 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签名来获取和设置mapped属性值。 如果你有任何额外的参数,那么它可以在括号内写成(“(”和“)”)而不是使用方括号。

  • PropertyUtils.getMappedProperty(Object, String)

  • PropertyUtils.getMappedProperty(Object, String, String)

  • PropertyUtils.setMappedProperty(Object, String, Object)

  • PropertyUtils.setMappedProperty(Object, String, String, Object)

参数:

  • Object :它是一个bean对象,它指定要提取的bean属性。

  • String :它是应为Mapped属性设置的属性值的名称。

  • String :它定义要设置的属性值的键。

  • Object :指定要设置的property的值。

例子 (Example)

以下示例演示了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
      List<string> list = new ArrayList<string>();
      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);
   }
   }
}
</string></string>

现在我们将为bean类创建一个名为MyBean.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; }
	}

输出 (Output)

让我们执行以下步骤来查看上面的代码是如何工作的:

  • 将上面的第一个代码保存为BeanUtilsPropertyDemo.java

  • 现在使用Run选项或Ctrl + f11执行代码,并显示如下输出。

基本财产访问