Вы можете получить доступ к основным свойствам, используя следующие способы:
-
Простое свойство
-
Индексированное свойство
-
Сопоставленное свойство
Простое свойство
Индексированное свойство
Сопоставленное свойство
Простое свойство
Вы можете получить и установить значения простых свойств, используя следующие подписи API:
-
PropertyUtils.getSimpleProperty (Object, String)
-
PropertyUtils.SetSimpleProperty (Object, String, Object)
PropertyUtils.getSimpleProperty (Object, String)
PropertyUtils.SetSimpleProperty (Object, String, Object)
Параметры:
-
Объект : это объект EJB, который определяет извлекаемое свойство EJB.
-
String : это строковое имя, которое указывает имя извлекаемого свойства.
Объект : это объект EJB, который определяет извлекаемое свойство EJB.
String : это строковое имя, которое указывает имя извлекаемого свойства.
Индексированное свойство
Вы можете использовать две опции для создания индексированных свойств; Первый вариант — это создание индекса в имени свойства, а второй — определение индекса в отдельном аргументе для вызова метода.
Индексированные свойства можно получить и установить с помощью следующих методов:
-
PropertyUtils.getIndexedProperty (Object, String)
-
PropertyUtils.getIndexedProperty (Object, String, int)
-
PropertyUtils.setIndexedProperty (Object, String, Object)
-
PropertyUtils.setIndexedProperty (Object, String, int, Object)
PropertyUtils.getIndexedProperty (Object, String)
PropertyUtils.getIndexedProperty (Object, String, int)
PropertyUtils.setIndexedProperty (Object, String, Object)
PropertyUtils.setIndexedProperty (Object, String, int, Object)
Параметры:
-
Объект : это объект EJB, который определяет извлекаемое свойство EJB.
-
String : это строковое имя, которое указывает имя извлекаемого свойства.
-
int : Устанавливает индекс значения свойства.
-
Объект : он указывает значение для индексированного элемента свойства.
Объект : это объект EJB, который определяет извлекаемое свойство EJB.
String : это строковое имя, которое указывает имя извлекаемого свойства.
int : Устанавливает индекс значения свойства.
Объект : он указывает значение для индексированного элемента свойства.
Сопоставленное свойство
Вы можете получить и установить значения сопоставленных свойств, используя нижеуказанные сигнатуры API. Если у вас есть дополнительный аргумент, его можно записать в скобках как («(» и «)») вместо использования квадратных скобок.
-
PropertyUtils.getMappedProperty (Object, String)
-
PropertyUtils.getMappedProperty (Object, String, String)
-
PropertyUtils.setMappedProperty (Object, String, Object)
-
PropertyUtils.setMappedProperty (Object, String, String, Object)
PropertyUtils.getMappedProperty (Object, String)
PropertyUtils.getMappedProperty (Object, String, String)
PropertyUtils.setMappedProperty (Object, String, Object)
PropertyUtils.setMappedProperty (Object, String, String, Object)
Параметры:
-
Объект : это объект EJB, который определяет извлекаемое свойство EJB.
-
Строка : это имя значения свойства, которое должно быть установлено для свойства Mapped.
-
Строка : определяет ключ значения свойства, которое будет установлено.
-
Объект : определяет значение свойства, которое будет установлено.
Объект : это объект EJB, который определяет извлекаемое свойство EJB.
Строка : это имя значения свойства, которое должно быть установлено для свойства Mapped.
Строка : определяет ключ значения свойства, которое будет установлено.
Объект : определяет значение свойства, которое будет установлено.
пример
Приведенный ниже пример демонстрирует использование вышеуказанных свойств в 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 .
Теперь выполните код, используя опцию Run или Ctrl + f11, и отобразится вывод, как показано ниже.