Java BeanUtils - Quyền truy cập thuộc tính cơ bản
Sự miêu tả
Bạn có thể truy cập các thuộc tính cơ bản bằng cách sử dụng các cách sau:
Thuộc tính đơn giản
Thuộc tính được lập chỉ mục
Thuộc tính được ánh xạ
Thuộc tính đơn giản
Bạn có thể lấy và đặt simple giá trị thuộc tính bằng cách sử dụng các chữ ký API bên dưới:
PropertyUtils.getSimpleProperty (Đối tượng, Chuỗi)
PropertyUtils.SetSimpleProperty (Đối tượng, Chuỗi, Đối tượng)
Thông số:
Object: Nó là một đối tượng bean chỉ định thuộc tính bean sẽ được trích xuất.
String: Nó là một tên chuỗi chỉ định tên của thuộc tính sẽ được trích xuất.
Thuộc tính được lập chỉ mục
Bạn có thể sử dụng hai tùy chọn để tạo indexedtính chất; tùy chọn đầu tiên là xây dựng chỉ số con thành tên thuộc tính và tùy chọn thứ hai là xác định chỉ số con trong một đối số riêng biệt để gọi phương thức.
Các thuộc tính được lập chỉ mục có thể được lấy và thiết lập bằng cách sử dụng các phương pháp dưới đây:
PropertyUtils.getIndexedProperty (Đối tượng, Chuỗi)
PropertyUtils.getIndexedProperty (Đối tượng, Chuỗi, int)
PropertyUtils.setIndexedProperty (Đối tượng, Chuỗi, Đối tượng)
PropertyUtils.setIndexedProperty (Đối tượng, Chuỗi, int, Đối tượng)
Thông số:
Object: Nó là một đối tượng bean chỉ định thuộc tính bean sẽ được trích xuất.
String: Nó là một tên chuỗi chỉ định tên của thuộc tính sẽ được trích xuất.
int: Nó thiết lập một chỉ mục của giá trị thuộc tính.
Object: Nó chỉ định giá trị cho một phần tử thuộc tính được lập chỉ mục.
Thuộc tính được ánh xạ
Bạn có thể lấy và đặt mappedgiá trị thuộc tính bằng cách sử dụng các chữ ký API bên dưới. Nếu bạn có thêm bất kỳ đối số nào, thì nó có thể được viết trong dấu ngoặc đơn là ("(" và ")") thay vì sử dụng dấu ngoặc vuông.
PropertyUtils.getMappedProperty (Đối tượng, Chuỗi)
PropertyUtils.getMappedProperty (Đối tượng, Chuỗi, Chuỗi)
PropertyUtils.setMappedProperty (Đối tượng, Chuỗi, Đối tượng)
PropertyUtils.setMappedProperty (Đối tượng, Chuỗi, Chuỗi, Đối tượng)
Thông số:
Object: Nó là một đối tượng bean chỉ định thuộc tính bean sẽ được trích xuất.
String: Đây là tên của giá trị thuộc tính cần được đặt cho thuộc tính được Ánh xạ.
String: Nó xác định khóa của giá trị thuộc tính sẽ được đặt.
Object: Nó chỉ định giá trị của thuộc tính sẽ được đặt.
Thí dụ
Ví dụ dưới đây minh họa việc sử dụng các thuộc tính trên trong 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.