Java BeanUtils-기본 속성 액세스

기술

다음 방법을 사용하여 기본 속성에 액세스 할 수 있습니다.

  • 단순 속성

  • 인덱싱 된 속성

  • 매핑 된 속성

단순 속성

당신은 얻을 수 있고 설정할 수 있습니다 simple 아래 API 서명을 사용하여 속성 값 :

  • 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: 인덱싱 된 속성 요소의 값을 지정합니다.

매핑 된 속성

당신은 얻을 수 있고 설정할 수 있습니다 mapped아래 API 서명을 사용하여 속성 값. 추가 인수가있는 경우 대괄호를 사용하는 대신 괄호 안에 ( "("및 ")")로 쓸 수 있습니다.

  • 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: 설정할 속성의 값을 지정합니다.

아래 예제는 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.