Java BeanUtils - Accès aux propriétés de base

La description

Vous pouvez accéder aux propriétés de base en utilisant les méthodes suivantes:

  • Propriété simple

  • Propriété indexée

  • Propriété mappée

Propriété simple

Vous pouvez obtenir et définir le simple valeurs de propriété en utilisant les signatures API ci-dessous:

  • PropertyUtils.getSimpleProperty (objet, chaîne)

  • PropertyUtils.SetSimpleProperty (objet, chaîne, objet)

Paramètres:

  • Object: C'est un objet bean qui spécifie la propriété bean à extraire.

  • String: C'est un nom de chaîne qui spécifie le nom de la propriété à extraire.

Propriété indexée

Vous pouvez utiliser deux options pour créer indexedPropriétés; La première option consiste à construire l'indice dans le nom de la propriété et la deuxième option définit l'indice dans un argument séparé pour appeler la méthode.

Les propriétés indexées peuvent être obtenues et définies à l'aide des méthodes ci-dessous:

  • PropertyUtils.getIndexedProperty (objet, chaîne)

  • PropertyUtils.getIndexedProperty (Objet, Chaîne, entier)

  • PropertyUtils.setIndexedProperty (objet, chaîne, objet)

  • PropertyUtils.setIndexedProperty (objet, chaîne, int, objet)

Paramètres:

  • Object: C'est un objet bean qui spécifie la propriété bean à extraire.

  • String: C'est un nom de chaîne qui spécifie le nom de la propriété à extraire.

  • int: Il définit un index de la valeur de la propriété.

  • Object: Il spécifie la valeur d'un élément de propriété indexé.

Propriété mappée

Vous pouvez obtenir et définir le mappedvaleurs de propriété en utilisant les signatures API ci-dessous. Si vous avez un argument supplémentaire, alors il peut être écrit entre parenthèses sous la forme ("(" et ")") au lieu d'utiliser des crochets.

  • PropertyUtils.getMappedProperty (objet, chaîne)

  • PropertyUtils.getMappedProperty (objet, chaîne, chaîne)

  • PropertyUtils.setMappedProperty (Objet, Chaîne, Objet)

  • PropertyUtils.setMappedProperty (objet, chaîne, chaîne, objet)

Paramètres:

  • Object: C'est un objet bean qui spécifie la propriété bean à extraire.

  • String: C'est un nom de la valeur de propriété qui doit être définie pour la propriété mappée.

  • String: Il définit la clé de la valeur de propriété à définir.

  • Object: Il spécifie la valeur de la propriété à définir.

Exemple

L'exemple ci-dessous illustre l'utilisation des propriétés ci-dessus dans les 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.