commons-beanutils 일부 응용 프로그램

6757 단어 BeanUtils
BeanDto.java 클래스:
import java.io.Serializable;

public class BeanDto implements Serializable {
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

MyBean.java 클래스:
import java.io.Serializable;

public class MyBean implements Serializable {

	private Person person;

	public Person getPerson() {
		return person;
	}

	public void setPerson(Person person) {
		this.person = person;
	}
}

Person.java 클래스:
import java.io.Serializable;

public class Person implements Serializable {

	private Address address;

	public Address getAddress() {
		return address;
	}

	public void setAddress(Address address) {
		this.address = address;
	}
}

Address.java 클래스:
import java.io.Serializable;

public class Address implements Serializable {

	private String city;

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}
}

TestBeanutils.java 클래스:
import java.lang.reflect.InvocationTargetException;
import java.sql.Date;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.apache.commons.beanutils.BasicDynaClass;
import org.apache.commons.beanutils.BeanPropertyValueChangeClosure;
import org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate;
import org.apache.commons.beanutils.BeanToPropertyValueTransformer;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.DynaBean;
import org.apache.commons.beanutils.LazyDynaBean;
import org.apache.commons.beanutils.LazyDynaList;
import org.apache.commons.beanutils.LazyDynaMap;
import org.apache.commons.beanutils.WrapDynaBean;
import org.apache.commons.collections.CollectionUtils;

import com.commonsbeanutils.dto.Address;
import com.commonsbeanutils.dto.BeanDto;
import com.commonsbeanutils.dto.MyBean;
import com.commonsbeanutils.dto.Person;

public class TestBeanutils {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		//   bean     dynabean,     
		BeanDto dto = new BeanDto();
		dto.setName("shihuan");
		DynaBean wrapper = new WrapDynaBean(dto);
		String firstName = (String) wrapper.get("name");
		System.out.println(firstName);
		
		Map map = new HashMap();
		map.put("name", "   !");
		// Map    ,   bean ..   ..
		try {
			BeanUtils.populate(dto, map);
			System.out.println(dto.getName());
		} catch (IllegalAccessException e1) {
			e1.printStackTrace();
		} catch (InvocationTargetException e1) {
			e1.printStackTrace();
		} 
		
		ConvertUtils.convert("2010-4-30", Date.class);  //      
		ConvertUtils.convert("20.02", Double.class);  //   double
		System.out.println(ConvertUtils.convert("2011-8-28", Date.class));
		System.out.println(ConvertUtils.convert("28.09", Double.class));
		
		//      bean name             bean name  
		List dtoCollection = new ArrayList();
		dtoCollection.add(dto);
		BeanPropertyValueChangeClosure closure = new BeanPropertyValueChangeClosure("name", "        bean name  ");
	    CollectionUtils.forAllDo(dtoCollection, closure);
	    System.out.println(dto.getName());

	    //      ,  name   prepare   beans
	    List dtoCollectionFilter = new ArrayList();
	    dto.setName("prepare");
	    dtoCollectionFilter.add(dto);
	    BeanPropertyValueEqualsPredicate predicate = new BeanPropertyValueEqualsPredicate("name", "prepare");
	    CollectionUtils.filter(dtoCollectionFilter, predicate);
	    System.out.println(dtoCollectionFilter.size());
	    
	    //    bean person              ,      
	    MyBean mybean1 = new MyBean();
	    Person person1 = new Person();
	    mybean1.setPerson(person1);
	    Address address1 = new Address();
	    person1.setAddress(address1);
	    mybean1.getPerson().getAddress().setCity("  ");
	    MyBean mybean2 = new MyBean();
	    Person person2 = new Person();
	    mybean2.setPerson(person2);
	    Address address2 = new Address();
	    person2.setAddress(address2);
	    mybean2.getPerson().getAddress().setCity("  ");
	    List myCollection = new ArrayList();
	    myCollection.add(mybean1);
	    myCollection.add(mybean2);
	    BeanToPropertyValueTransformer transformer = new BeanToPropertyValueTransformer("person.address.city");
	    Collection resultCity = CollectionUtils.collect(myCollection, transformer);
	    for (Iterator iterCity = resultCity.iterator(); iterCity.hasNext();) {
			String citys = (String) iterCity.next();
			System.out.println(citys);
		}
	    
		
		//dynabean      Bean,       Map   
		DynaBean car = new LazyDynaBean();
        car.set("carNo", 1);
        car.set("owner", "  ");         
        System.out.println(car.get("carNo") + " -- " + car.get("owner"));
        
        DynaBean carMap = new LazyDynaMap();
        carMap.set("carNo", 2);
        carMap.set("owner", "  ");         
        System.out.println(carMap.get("carNo") + " -- " + carMap.get("owner"));
        
        List carList = new LazyDynaList();
        carList.add(3);
        carList.add("  ");     
        System.out.println(carList.get(0).toString() + " -- " + carList.get(1).toString());
        
        BasicDynaClass bdClass = new BasicDynaClass();
        try {
			DynaBean dynaBean = bdClass.newInstance();
		} catch (IllegalAccessException e) {
			e.printStackTrace();
		} catch (InstantiationException e) {
			e.printStackTrace();
		}
		
		
	}

}

좋은 웹페이지 즐겨찾기