使用了BeanUtils的简单操作
生活随笔
收集整理的這篇文章主要介紹了
使用了BeanUtils的简单操作
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
直接獲取對(duì)象的某個(gè)值
et.createCell(BeanUtils.getProperty(o, eh.getFieldName()));
c.setCellValue(BeanUtils.getProperty(datas.get(i),headers.get(j).getFieldName()));
et.createCell(BeanUtils.getProperty(o, eh.getFieldName()));
?
簡(jiǎn)單為對(duì)象某個(gè)字段賦值c.setCellValue(BeanUtils.getProperty(datas.get(i),headers.get(j).getFieldName()));
?beanUtils的底層是內(nèi)省。下面是又一個(gè)小例子,實(shí)現(xiàn)了map和bean的映射注入
package com.itcast.domain;public class Student {private String username;private String password;private int age;public Student() {super();}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 int getAge() {return age;}public void setAge(int age) {this.age = age;}public Student(String username, String password, int age) {super();this.username = username;this.password = password;this.age = age;}@Overridepublic String toString() {return "Student [username=" + username + ", password=" + password+ ", age=" + age + "]";}} package com.itcast.test;import java.lang.reflect.InvocationTargetException; import java.util.HashMap; import java.util.Map;import org.apache.commons.beanutils.BeanUtils; import org.junit.Test;import com.itcast.domain.Student; import com.itcast.utils.CommonUtils; @SuppressWarnings({"rawtypes","unused"}) public class Test01 {@Testpublic void fun1() throws Exception{Class cla=Class.forName("com.itcast.domain.Student");Object stu=cla.newInstance();BeanUtils.setProperty(stu, "username", "guodaxia");BeanUtils.setProperty(stu, "password", "12345");BeanUtils.setProperty(stu, "age", "21");//這個(gè)類會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換注入//System.out.println(stu);int age=Integer.valueOf(BeanUtils.getProperty(stu, "age"));//getProperty得到的都是String類型 System.out.println(age);}/**把map中的屬性直接封裝到一個(gè)bean中** Map:{"username":"zhangsan","password","123"}* 我們要把map的數(shù)據(jù)封裝到一個(gè)javaBean中,要求map的key域bean的屬性名相同!*/@Testpublic void fun2() throws Exception{//將Map的內(nèi)容直接寫入一個(gè)bean中Map<String,String> map=new HashMap<String,String>();map.put("username", "guodaxia");map.put("password","961012gz");map.put("age", "21");Student stu=new Student();BeanUtils.populate(stu, map);System.out.println(stu);}@Testpublic void fun3(){Map<String,String> map=new HashMap<String,String>();map.put("username", "guodaxia");map.put("password","961012gz");map.put("age", "21");Student stu=CommonUtils.toBean(map,Student.class);System.out.println(stu);} } package com.itcast.utils;import java.util.Map; import java.util.UUID;import org.apache.commons.beanutils.BeanUtils;public class CommonUtils {/*** 生成不重復(fù)的32位長的大寫字符串* @return*/public static String uuid(){return UUID.randomUUID().toString().replace("-", "").toUpperCase();}/*** 把map轉(zhuǎn)換成指定類型的javabean對(duì)象* @param map* @param clazz* @return*/public static <T> T toBean(Map<String, String> map,Class<T> clazz){try {T bean = clazz.newInstance();BeanUtils.populate(bean, map);return bean;} catch (Exception e) {throw new RuntimeException(e);}} }?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的使用了BeanUtils的简单操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到分梨吃是什么意思
- 下一篇: 模板(Template)