beanutils初步
生活随笔
收集整理的這篇文章主要介紹了
beanutils初步
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. beanUtils工程
1.工程目錄
2.需要的jar包:
commons-beanutils-1.9.3.jar
commons-collections-3.2.2.jar
commons-logging-1.2.jar
3.轉換器
DateConverter.java:
PointConvert.java:
package com.my.model;import org.apache.commons.beanutils.converters.AbstractConverter;public class PointConvert<T> extends AbstractConverter{@Overridepublic <T> T convert(Class<T> clz, Object value) {if(Point.class!=clz) {return null;}if(value instanceof String) {String val=(String)value;String[] strArray=val.split(",");if(strArray.length<2) {return null;}int x=0, y=0;try {x=Integer.parseInt(strArray[0]);y=Integer.parseInt(strArray[1]);}catch(NumberFormatException e) {e.printStackTrace();}return (T) new Point(x, y);}return null;}@Overrideprotected <T> T convertToType(Class<T> arg0, Object arg1) throws Throwable {// TODO Auto-generated method stubreturn null;}@Overrideprotected Class<?> getDefaultType() {// TODO Auto-generated method stubreturn null;}}4.model類
Point.java:
User.java:
package com.my.model;import java.util.Date;public class User {private int id;private String username;private int age;private String password;private Date born;private Point point;public Point getPoint() {return point;}public void setPoint(Point point) {this.point = point;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Date getBorn() {return born;}public void setBorn(Date born) {this.born = born;}public User(int id, String username, int age, String password, Date born) {super();this.id = id;this.username = username;this.age = age;this.password = password;this.born = born;}public User() {}public User(int id, String username, int age, String password, Date born, Point point) {this.id = id;this.username = username;this.age = age;this.password = password;this.born = born;this.point = point;}@Overridepublic String toString() {return "User [id=" + id + ", username=" + username + ", age=" + age + ", password=" + password + ", born="+ born + ", point=" + point + "]";}}5.Junit測試類:
TestBeanUtils.java:
運行結果:
User [id=0, username=張三, age=20, password=null, born=Thu Feb 20 00:00:00 CST 1997, point=Point [x=10, y=12]] User [id=0, username=張三, age=20, password=null, born=null, point=null]2.beanUtils封裝請求參數(shù)
/*** * @param clz,目標類的類型* @param request,請求* @return 目標類型的對象*/public static Object setParam(Class<?> clz, HttpServletRequest request) {Map<String, String[]> paramMap=request.getParameterMap();Set<String> strSet=paramMap.keySet();Object object=null;try {object=clz.newInstance();} catch (InstantiationException | IllegalAccessException e) {e.printStackTrace();}for(String str: strSet) {LogUtil.printLog(str+": "+paramMap.get(str)[0]+" |"+object);try {String[] paramValue=paramMap.get(str);if(paramValue.length>1) {BeanUtils.setProperty(object, str, paramValue);}else {BeanUtils.setProperty(object, str, paramValue[0]);}} catch (IllegalAccessException | InvocationTargetException e) {e.printStackTrace();}}return object;}總結
以上是生活随笔為你收集整理的beanutils初步的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win11怎么连接上校园网?
- 下一篇: 【云计算学习教程】云计算架构参考模型