Java BeanUtils - การเข้าถึงคุณสมบัติพื้นฐาน
คำอธิบาย
คุณสามารถเข้าถึงคุณสมบัติพื้นฐานได้โดยใช้วิธีต่อไปนี้:
คุณสมบัติที่เรียบง่าย
ทรัพย์สินที่จัดทำดัชนี
คุณสมบัติที่แมป
คุณสมบัติที่เรียบง่าย
คุณสามารถรับและตั้งค่าไฟล์ simple ค่าคุณสมบัติโดยใช้ลายเซ็น API ด้านล่าง:
PropertyUtils.getSimpleProperty (ออบเจ็กต์, สตริง)
PropertyUtils.SetSimpleProperty (Object, String, Object)
พารามิเตอร์:
Object: เป็นอ็อบเจกต์ bean ที่ระบุคุณสมบัติ bean ที่จะแยกออกมา
String: เป็นชื่อสตริงที่ระบุชื่อของคุณสมบัติที่จะแตก
ทรัพย์สินที่จัดทำดัชนี
คุณสามารถใช้สองตัวเลือกในการสร้าง indexedคุณสมบัติ; ตัวเลือกแรกคือการสร้างตัวห้อยลงในชื่อคุณสมบัติและตัวเลือกที่สองคือการกำหนดตัวห้อยในอาร์กิวเมนต์แยกต่างหากเพื่อเรียกใช้เมธอด
คุณสมบัติที่จัดทำดัชนีสามารถรับและตั้งค่าได้โดยใช้วิธีการด้านล่าง:
PropertyUtils.getIndexedProperty (ออบเจ็กต์, สตริง)
PropertyUtils.getIndexedProperty (Object, String, int)
PropertyUtils.setIndexedProperty (Object, String, Object)
PropertyUtils.setIndexedProperty (Object, String, int, Object)
พารามิเตอร์:
Object: เป็นอ็อบเจกต์ bean ที่ระบุคุณสมบัติ bean ที่จะแยกออกมา
String: เป็นชื่อสตริงที่ระบุชื่อของคุณสมบัติที่จะแตก
int: ตั้งค่าดัชนีของมูลค่าคุณสมบัติ
Object: ระบุค่าสำหรับองค์ประกอบคุณสมบัติที่จัดทำดัชนี
คุณสมบัติที่แมป
คุณสามารถรับและตั้งค่าไฟล์ mappedค่าคุณสมบัติโดยใช้ลายเซ็น API ด้านล่าง หากคุณมีอาร์กิวเมนต์พิเศษคุณสามารถเขียนภายในวงเล็บเป็น ("(" และ ")") แทนการใช้วงเล็บเหลี่ยม
PropertyUtils.getMappedProperty (ออบเจ็กต์, สตริง)
PropertyUtils.getMappedProperty (ออบเจ็กต์สตริงสตริง)
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
List
list = 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); } } }
Now we will create one more class called MyBean.java for the bean class:
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
Let's carry out the following steps to see how above code works:
Save the above first code as BeanUtilsPropertyDemo.java.
Now execute the code using Run option or Ctrl+f11 and output as below gets displayed.