commons-beanutils 일부 응용 프로그램
6757 단어 BeanUtils
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();
}
}
}