BeanUtil
来源:互联网 发布:wings战队 知乎 编辑:程序博客网 时间:2024/05/17 23:58
BeanUtils是Apache commons组件的成员之一,主要用于简化JavaBean封装数据的操作.
可以给JavaBean封装一个字符串数据,也可以将一个表单提交的所有数据封装到JavaBean中.
使用时需要导入jar包:
commons-beanutils-1.8.3.jar
commons-logging-1.1.1.jar
常用工具类有两个:BeanUtils :用于封装数据
ConvertUtils :用于处理类型转换.
常用API:
//功能1:封装表单数据public void demo01() throws Exception{ //将map数据封装给user Map<String,String[]>properties=new HashMap<String,String[]>(); propeties.put("username",new String[]{"jack"}); propeties.put("password",new String[]{"1234"}); properties.put("age",new Sting[]{"18"}); User user=new User(); //封装数据 BeanUtils.populate(user,properties); System.out.println(user);}
//功能2:封装表单数据,使用类型转换器public void demo02() throws Exception{ //转换器 Map<String,String[]>properties=new HashMap<String,String[]>(); propeties.put("username",new String[]{"jack"}); propeties.put("password",new String[]{"1234"}); properties.put("age",new Sting[]{"18"}); properties.put("birthday",new String[]{"2012-12-21"}); User usre= new User(); //1 创建BeanUtils提供时间转换器 DateConverter dateConverter = new DateConverter(); //2 设置需要转换的格式 dateConverter.setPattern("yyyy-MM-dd"); //3 注册转换器 ConvertUtils.register(dateConverter,java.util.Date.class); //封装数据 BeanUtils.populate(user,properties); System.out.println(user);
//功能3:编写工具类public class MyBeanUtils{/***将数据封装给JavaBean,支持时间类型转换*/ public static void populate(Object user,Map<String,String[]>properties){ try{ //1 创建BeanUtils提供时间转换器 DateConverter dateConverter = new DateConverter(); //2 设置需要转换的格式 dateConverter.setPatterns(new String[]{"yyyy-MM-dd","yyyy-MM-dd HH:mm:ss"}); //注册转换器 ConvertUtils.register(dateConverter,java.util.Date.class); //封装数据 BeanUtils.populate(user,properties); } catch (Exception e) { throw new RuntimeException(e); } } }
工具类的使用:
User user=new user();
MyBeanUtils.populate(user,properties);
高级工具类:
/***高级封装,不需要new javabean**/public static <T> T populate(Class<T> beanClass,Map<String,String[]> properties){ try{ //1 使用反射创建实例 T bean = beanClass.newInstance(); //2.1 创建BeanUtils提供时间转换器 DateConverter dateConverter = new DateConverter(); //2.2 设置需要转换的格式 dateConverter.setPatterns(new String[]{"yyyy-MM-dd","yyyy-MM-dd HH:mm:ss"}); //2.3 注册转换器 ConvertUtils.register(dateConverter,java.utils.Date.class); //3 封装数据 BeanUtils.populate(bean,properties); return bean; } catch (Exception e) { throw new RuntimeException(e); }}
工具类使用2:
User user = MyBeanUtils.populate(User.class,properties);
阅读全文
0 0
- BeanUtil
- BeanUtil
- BeanUtil
- BeanUtil
- BeanUtil
- BeanUtil
- BeanUtil
- beanutil
- beanUtil工具
- BeanUtil组件
- BeanUtil组件
- BeanUtil解读
- BeanUtil.beanCopy
- Apache BeanUtil简介
- BeanUtil常用方法
- 关于BeanUtil.copyProperties性能
- 关于BeanUtil.copyProperties性能
- 关于BeanUtil.copyProperties性能
- Dialog详解(实时更新,未完待续...)
- Python初学笔记3
- java实现签名和解签
- live555二次开发经验总结:RTSPClient客户端与RTSPServer服务器
- 为什么STM32从Flash地址0x08000000的启动重映射
- BeanUtil
- [java] 微服务架构连载No1 spring-cloud服务发现之Eureka
- 项目3的程序2——复杂度为O(nlogn)的快速排序程序
- Centos配置yum源|个人整理
- jvm、jre、jdk的区别
- 高性能mysql-第五章索引(3)
- 考研数学
- C++ 特殊宏定义
- 在C ++中,可以用于变量和函数上的关键字是哪一个?