使用了BeanUtils的简单操作

直接获取对象的某个值
et.createCell(BeanUtils.getProperty(o, eh.getFieldName()));

 

简单为对象某个字段赋值
c.setCellValue(BeanUtils.getProperty(datas.get(i),headers.get(j).getFieldName()));

 beanUtils的底层是内省。下面是又一个小例子,实现了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");//这个类会自动进行类型转换注入//System.out.println(stu);int age=Integer.valueOf(BeanUtils.getProperty(stu, "age"));//getProperty得到的都是String类型
        System.out.println(age);}/**把map中的属性直接封装到一个bean中** Map:{"username":"zhangsan","password","123"}* 我们要把map的数据封装到一个javaBean中,要求map的key域bean的属性名相同!*/@Testpublic void fun2() throws Exception{//将Map的内容直接写入一个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 {/*** 生成不重复的32位长的大写字符串* @return*/public static String uuid(){return UUID.randomUUID().toString().replace("-", "").toUpperCase();}/***  把map转换成指定类型的javabean对象* @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);}}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NTP服务器

随着计算机网络的迅猛发展&#xff0c;网络应用已经非常普遍&#xff0c;众多的领域的网络系统&#xff0c;如电力&#xff0c;石化&#xff0c;金融业&#xff08;证券&#xff0c;银行&#xff09;&#xff0c;广电业&#xff08;广播&#xff0c;电视&#xff09;&#xff0…

ところが

ところが 1表示确定顺接条件&#xff0c;连接两个并存的事项&#xff0c;前项为后项的契机&#xff0c;相当于たら的部分用法  あしたは晴れるだろうと思って寝たが、翌朝起きてみたところ、やっぱり晴れていた。 2表示确定逆接条件&#xff0c;后项往往是与自己的意愿相反的…

mysql 永真_sql注入

Sql注入Sql注入成因&#xff1a;1)转义字符处理不当(如’,--,/**/,会截断原有的语句&#xff0c;执行新语句)&#xff1b;2)类型处理不当(如接受的是整型的参数&#xff0c;并没有校验也可以接受字符型数据)3)查询语句的组装不当4)错误处理不当5)权限配置不当(可以执行高权限语…

吐槽《黑客与画家》

书呆子与骚年 看到本书有关书呆子的描述时&#xff0c;反观自身&#xff0c;有很多感同身受的东西。从小我在大家眼里就是一个安静孤僻的书呆子&#xff0c; 外号“阴天使&#xff08;方言的谐音&#xff09;”。也由于安静的性格&#xff0c;使得我能坐得住安静地读书&#xf…

模板(Template)

最近阅读google chromium base container stack_container代码&#xff0c;深刻感觉到基础知识不扎实。 // Casts the buffer in its right type.T* stack_buffer() { return stack_buffer_.template data_as<T>(); }const T* stack_buffer() const { return stack_buff…

python异常值均值填充_Python 异常值分析

异常值分析是检验数据是否有录入错误以及含有不合常理的数据。忽视异常值的存在是十分危险的&#xff0c;不加剔除地把异常值包括进数据的计算分析过程中&#xff0c;对结果会产生不良影响&#xff1b;重视异常值的出现&#xff0c;分析其产生的原因&#xff0c;常常成为发现问…

近期学习清单

2019独角兽企业重金招聘Python工程师标准>>> 框架 1.编写xml性质的ioc容器demo&#xff08;附上博文一篇&#xff09; 2.编写unity形式的ioc容器demo&#xff08;附上博文一篇&#xff09; 3.编写自己的orm框架 c#语言特性 1.大量阅读有关枚举类&#xff0c;查询类…

java同名函数_浅谈Java 继承接口同名函数问题

在Java中如果一个类同时继承接口A与B&#xff0c;并且这两个接口中具有同名方法&#xff0c;会怎么样&#xff1f;动手做实验&#xff1a;interface A{void fun();}interface B{void fun();}interface C extends A,B{}public class Test implements C{Overridepublic void fun(…

判断两个树是否互相镜像

// 3. 判断两个树是否互相镜像 public static boolean isMirrorRec(TreeNode r1, TreeNode r2){ // 如果两个树都是空树&#xff0c;则返回true if(r1null && r2null){ return true; } // 如果有一棵树是空树&#xff0c;另一颗不是&#xff0c;则返回false if(…

NopCommerce开源项目中很基础但是很实用的C# Helper方法

NopCommerce是啥&#xff1f; nopCommerce是最好的开源电子商务购物 系统。nopCommerce免费提供。今天&#xff0c;它是最好和最流行的ASP.NET电子商务软件。它已被下载超过180万次&#xff01; nopCommerce是一个完全可定制的购物系统。它稳定且高度可用。nopCommerce是一个开…

java中如何设计答题小系统_java的一点问题,设计一个答题的程序

publicclassTestextendsJFrame{privateJPanelt_1newJPanel();privateJPanelt_0newJPanel();privateJLabelj_1newJLabel("题目1.");privateJLabelanwsernewJLabel("");privateButto...public class Test extends JFrame{private JPanel t_1new JPanel();pri…

写一个函数,输入int型,返回整数逆序后的字符串

2019独角兽企业重金招聘Python工程师标准>>> 刚刚看到一个面试题&#xff1a;写一个函数&#xff0c;输入int型&#xff0c;返回整数逆序后的字符串。如&#xff1a;输入123&#xff0c;返回“321”。 要求必须用递归&#xff0c;不能用全局变量&#xff0c;输入必须…

VS2013 使用QCustomPlot等三方库如何配置

QCustomPlot 是一个小巧好用的 QT 图表插件。用来画曲线图、趋势图、坐标图、柱状图等类似二维图的库。实现大部分的2维图形绘制。使用时&#xff0c;我们在程序中写完相关调用的代码后&#xff0c;只需将 QCunstomPlot.cpp 和 QCustomPlot.h 两个文件加入工程&#xff0c;正常…

Php RSS

RSS 聚合最近非常流行&#xff0c;因此至少对 RSS 及其工作方式有所了解是一名 PHP 开发人员的迫切需要。本文介绍了 RSS 基础知识、RSS 众多用途中的一些用途、如何使用 PHP 从数据库创建 RSS 提要&#xff0c;以及如何使用 XML_RSS 模块读取现有 RSS 提要并将其转换为 HTML。…

java 获取cer证书指纹_获取SSL证书的指纹

每一张SSL证书都有指纹(fingerprint)信息&#xff0c;若要获取&#xff0c;可以通过openssl或者certutil工具&#xff0c;分别在非Windows和Windows平台下使用基本语法&#xff1a;openssl x509 -fingerprint -in cerfile.crt若是报无法读取文件&#xff0c;那么极有可能是未指…

分布式配置管理平台Disconf

2019独角兽企业重金招聘Python工程师标准>>> 摘要 为了更好的解决分布式环境下多台服务实例的配置统一管理问题&#xff0c;本文提出了一套完整的分布式配置管理解决方案&#xff08;简称为disconf[4]&#xff0c;下同&#xff09;。首先&#xff0c;实现了同构系统…

1.ELF之Elf Header

1.ELF的三个文件头 每个ELF文件有三个文件头&#xff0c;用来索引信息。 (1).EH ELF file Header 可在此读到PH&#xff0c;SH在文件中的offset。 (2).PH Program Header 与load program有关的索引&#xff0c;.o的PH为空。 (3).SH Section Header 组成此文件的所有secti…

UVA 11825 状态压缩DP+子集思想

很明显的状态压缩思想了。把全集分组&#xff0c;枚举每个集合的子集&#xff0c;看一个子集是否能覆盖所有的点&#xff0c;若能&#xff0c;则f[s]max(f[s],f[s^s0]1)。即与差集1比较。 这种枚举集合的思想还是第一次遇到&#xff0c;果然太弱了。。。。~~~~ 其中枚举集合 fo…

java路径1.7_Java环境配置原理详解1.Jdk安装目录文件说明:一般jdk安装目录及路径 Javajdk1.7.0_79lib,里面主要包含以下文件夹。bin...

Java环境配置原理详解1.Jdk安装目录文件说明&#xff1a;一般jdk安装目录及路径 Javajdk1.7.0_79lib&#xff0c;里面主要包含以下文件夹。bin&#xff1a;主要存放的是java工具中常用命令如&#xff1a;java&#xff0c;javac等。db&#xff1a;安装java db的路径。include&am…

Centos下Nodejs+npm环境-部署记录

公司的一个项目上线&#xff0c;需要用到Nodejs和npm环境&#xff0c;这里记录下安装过程&#xff0c;方便回看同时供大家参考。 1&#xff09;yum安装方式&#xff08;版本比较老点&#xff0c;v5.12.0 3.8.6&#xff09; 需要在centos中添加epel和remi源添加epel源&#xff…