apache 自己为程序员们封装了一个专门用于处理的工具类,其功能有(数据类型会自动转成与JavaBean相关的)

map转javabean

javabean转map

javabean对象复制

获取javabean对象属性值

设置javabean对象属性值…………

两个相关jar包文件 Build Path到项目当中去

commons-beanutils-1.9.2.jar

commons-logging-1.2.jar

1.将Map转换成JavaBean对象

/**
* 刘诗华
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception { Map<String, Object> m=new HashMap<String, Object>();
m.put("id", "28");
m.put("userName", "刘诗华");
m.put("password", "123456"); User user=new User(); //BeanUtils.copyProperties(dest, orig);  dest:目标 orig:源
BeanUtils.copyProperties(user,m);
System.out.println(user); //结果:User(id=28, userName=刘诗华, password=123456) Integer id = user.getId(); //我们设置给Map集合的时候,给的是一个字符串,BeanUtils工具自动帮我们转换成包装类Integer类型
System.out.println(id);
}

2.JavaBean对象复制数据

/**
* 刘诗华
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
User orig=new User(28,"罗小胖","456456"); //源对象
User dest=new User(); //目标对象 空对象
BeanUtils.copyProperties(dest,orig); //JavaBean对象复制数据
System.out.println(dest);
//User(id=28, userName=罗小胖, password=456456)
}

3.设置Date时间格式转换

/**
* 申请注册时间格式
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
//源数据
Map<String, Object> m=new HashMap<String, Object>();
m.put("id", "");
m.put("userName", "刘诗华");
m.put("password", "123456");
m.put("hireDate", "2018/11/19"); //目标数据
User user=new User(); //时间数据格式对象
DateConverter converter=new DateConverter(); //converter.setPattern("yyyy-MM-dd HH:mm:ss"); //单个数据格式
//一组时间格式
String[] pattern=new String[3];
pattern[0]="yyyy-MM-dd HH:mm:ss";
pattern[1]="yyyy-MM-dd";
pattern[2]="yyyy/MM/dd";
converter.setPatterns(pattern); //如果Id上面没有数据,则设置为null
IntegerConverter integerConverter=new IntegerConverter(null);
ConvertUtils.register(integerConverter, Integer.class); //注册Date时间对象格式
ConvertUtils.register(converter, Date.class);
//开始复制数据信息
BeanUtils.copyProperties(user, m); System.out.println(user);
//User(id=null, userName=刘诗华, password=123456, hireDate=Mon Nov 19 00:00:00 CST 2018)
}

04-体验一下apache组织封装的BeanUtil工具包的更多相关文章

  1. 如何在Ubuntu 18.04上安装Apache Web服务器

    一. apt库安装 1.在终端输入更新检查命令,sudo apt-get update 2. 在更新完成后(如果不想检查更新,也可直接输入此步)输入:sudo apt-get install apac ...

  2. Log4J是Apache组织的开源一个开源项目,通过Log4J,可以指定日志信息输出的目的地,如console、file等。Log4J采用日志级别机制,请按照输出级别由低到高的顺序写出日志输出级别。

    Log4J是Apache组织的开源一个开源项目,通过Log4J,可以指定日志信息输出的目的地,如console.file等.Log4J采用日志级别机制,请按照输出级别由低到高的顺序写出日志输出级别. ...

  3. Ubuntu 18.04安装配置Apache Ant

    Ubuntu 18.04安装配置Apache Ant 文章目录 Ubuntu 18.04安装配置Apache Ant 下载 执行以下命令 `/etc/profile`中配置环境变量 载入配置 测试 执 ...

  4. 如何在Ubuntu 16.04上安装Apache Web服务器

    转载自:https://www.howtoing.com/how-to-install-the-apache-web-server-on-ubuntu-16-04 介绍 Apache HTTP服务器是 ...

  5. Ubuntu 16.04 集成安装Apache+PHP+Kerberos+LDAP+phpLDAPadmin

    一.安装Apache 1.1.安装Apache apt-get update apt-get install apache2 过程如下: root@duke01:~# apt-get update命中 ...

  6. 百度云的ubuntu16.04.1部署Apache服务器+Django项目

    使用Apache和mod_wsgi部署Django 是一种久经考验的将Django投入生产的方法. mod_wsgi是一个Apache模块,可以托管任何Python WSGI应用程序,包括Django ...

  7. Ubuntu 18.04上安装Apache, MySQL, PHP, LAMP

    1.安装 Apache $ sudo apt update && sudo apt install apache2 中间会遇到停顿询问是否继续, 输入 y 然后 回车. 2.测试 Ap ...

  8. Ubuntu20.04 体验和美化

    Ubuntu20.04美化和体验 windows用久了,换下系统也挺好的.ubuntu20.04优化后,用起来蛮舒服的. 系统配置 1.修改软件源 Ubuntu默认是国外的软件源, 我们可以手动切换为 ...

  9. Ubuntu12.04 下修改Apache端口号

    1:$sudo vim /etc/apache2/ports.conf NameVirtualHost *:80Listen 8090 #将此行的80修改成8090 2:sudo vim /etc/a ...

随机推荐

  1. python -- 字典 集合

    1.字典          定义:字典是以 key :value 的形式来保存数据,用{} 来表示,存储的是 key : value        查找效率比较高(注:字典存储数据时,用的是hash值 ...

  2. 使用js实现思维导图

    使用js实现思维导图 demo:http://rockyren.github.io/mindmaptree/ 源码:http://github.com/RockyRen/mindmaptree/tre ...

  3. 基于FastJson的通用泛型解决方案

    由于项目使用的是fastjson,也无法换成其他的序列化框架,所以研究了一下他对泛型序列化和反序列化的支持能力,最终解决了这个问题. 要达成的目标 我的封装方式属于通用封装,我要达到的目标是如下的使用 ...

  4. HTML5⑥

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. html页面调用js文件里的函数报错-->方法名 is not defined处理方法

    前几天写了一个时间函数setInterval,然后出现了这个错误:Uncaught ReferenceError: dosave is not defined(…) 找了半天都没发现错在哪,最后找到解 ...

  6. Kruskal算法(题目还是:畅通工程)

    那还是先把题目丢出来,是HDU上的一道题 畅通工程 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Jav ...

  7. Java语法基础学习DayEleven(Map)

    一.Map接口 1.概述:Map与Collection并列存在,用于保存具有映射关系的数据Key-Value. Map接口 |- - - - -HashMap:Map的主要实现类 |- - - - - ...

  8. 剑指Offer 22. 从上往下打印二叉树 (二叉树)

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 题目地址 https://www.nowcoder.com/practice/7fe2212963db4790b57431d9ed25 ...

  9. SpringBoot的学习【1.初学之HelloWorld】

    1.创建Maven项目. 2.引入pom依赖 在springboot官网中找到简单的依赖模板 <parent> <groupId>org.springframework.boo ...

  10. ReactiveCocoa进阶

    1.ReactiveCocoa常见操作方法介绍. 1.1 ReactiveCocoa操作须知 所有的信号(RACSignal)都可以进行操作处理,因为所有操作方法都定义在RACStream.h中,而R ...