Java BeanUtils-BeanUtils 및 ConvertUtils

기술

BeanUtils는 자바 빈즈 속성 및 채우기위한 유틸리티 메소드로 정의 ConvertUtils 지정된 클래스의 배열에 객체 메소드 변환 문자열 스칼라 값을 문자열 배열을.

BeanUtils

BeanUtils는 세터 방법을 사용하여 문자열 값을 받아 자동으로 자바 프리미티브에 적합한 속성 유형으로 변환 및 역 변환을위한 getter 메소드를 사용합니다. 채우기 () 메소드에서의 속성 값을 설정 받아 들인다 java.util.HashMap에 콩이 같은 이름의 속성을 포함 할 때마다 적합한 세터를 사용한다.

아래 예제는 BeanUtils 속성의 사용법을 보여줍니다.

import java.util.HashMap;
import org.apache.commons.beanutils.BeanUtils;

public class Test {
    @SuppressWarnings("unchecked")
    public static void main(String[] args){
        @SuppressWarnings("rawtypes")
        HashMap map = new HashMap();
        map.put("username","admin");
        map.put("password","secret");
        map.put("age","52");
        
        User bean = new User();
        try{
              BeanUtils.populate(bean,map);
        }catch(Exception e){
              e.printStackTrace();
        }
        
        System.out.println("Username: "+bean.getUsername());
        System.out.println("Password: "+bean.getPassword());
        System.out.println("Age: "+bean.getAge());
    }
}

이제 아래와 같이 User.java라는 다른 클래스를 생성합니다.

public class User {
    private String username;
    private String password;
    private String age;
    
    public String getUsername(){
        return username;
    }
    
    public void setUsername(String username){
        this.username = username;
    }

    public String getPassword() {
        return password;
    }
	
    public void setPassword(String password){
        this.password = password;
    }

    public String getAge() {
        return age;
    }
	
    public void setAge(String age){
        this.age = age;
    }
}

산출

위의 코드가 어떻게 작동하는지 확인하기 위해 다음 단계를 수행해 보겠습니다.

  • 위의 첫 번째 코드를 Test.java로 저장합니다.

  • 이제 실행 옵션 또는 Ctrl + f11을 사용하여 코드를 실행하면 아래와 같은 출력이 표시됩니다.

ConvertUtils

Apache Commons BeanUtils 는 다양한 데이터 유형으로 변환 할 수있는 여러 변환기와 함께 제공되는 라이브러리 이며 이러한 변환기를 사용하는 ConvertUtils 유틸리티 클래스 도 포함합니다 .

아래 예제는 ConvertUtils 유틸리티를 사용하여 문자열 배열을 이중 배열로 변환하는 것을 보여줍니다 .

package com.javadb;
import org.apache.commons.beanutils.ConvertUtils;

public class ConvertStringArrayToDoubleArray {
    public static void main(String[] args) {
        String values[] = { "5", "6", "3" };
        double[] doubleValues = (double[])ConvertUtils.convert(values, Double.TYPE);   
        for (double d : doubleValues) {
            System.out.println(d);
        }
    }
}

산출

  • 위의 첫 번째 코드를 ConvertStringArrayToDoubleArray.java로 저장합니다.

  • 이제 실행 옵션 또는 Ctrl + f11을 사용하여 코드를 실행하면 아래와 같은 출력이 표시됩니다.