• Apache Commons工具集简介


    Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。下面是我这几年做开发过程中自己用过的工具类做简单介绍。

    组件 功能介绍
    BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等.
    Betwixt XML与Java对象之间相互转换.
    Codec 处理常用的编码方法的工具类包 例如DES、SHA1、MD5、Base64等.
    Collections java集合框架操作.
    Compress java提供文件打包 压缩类库.
    Configuration 一个java应用程序的配置管理类库.
    DBCP 提供数据库连接池服务.
    DbUtils 提供对jdbc 的操作封装来简化数据查询和记录读取操作.
    Email java发送邮件 对javamail的封装.
    FileUpload 提供文件上传功能.
    HttpClien 提供HTTP客户端与服务器的各种通讯操作. 现在已改成HttpComponents
    IO io工具的封装.
    Lang Java基本对象方法的工具类包 如:StringUtils,ArrayUtils等等.
    Logging 提供的是一个Java 的日志接口.
    Validator 提供了客户端和服务器端的数据验证框架.

    1、BeanUtils 提供了对于JavaBean进行各种操作, 比如对象,属性复制等等。

    Java代码 复制代码 收藏代码
    1. //1、 克隆对象
    2. // 新创建一个普通Java Bean,用来作为被克隆的对象
    3. public class Person {
    4. private String name = "";
    5. private String email = "";
    6. private int age;
    7. //省略 set,get方法
    8. }
    9. // 再创建一个Test类,其中在main方法中代码如下:
    10. import java.lang.reflect.InvocationTargetException;
    11. import java.util.HashMap;
    12. import java.util.Map;
    13. import org.apache.commons.beanutils.BeanUtils;
    14. import org.apache.commons.beanutils.ConvertUtils;
    15. public class Test {
    16. /**
    17. * @param args
    18. */
    19. public static void main(String[] args) {
    20. Person person = new Person();
    21. person.setName("tom");
    22. person.setAge(21);
    23. try {
    24. //克隆
    25. Person person2 = (Person)BeanUtils.cloneBean(person);
    26. System.out.println(person2.getName()+">>"+person2.getAge());
    27. } catch (IllegalAccessException e) {
    28. e.printStackTrace();
    29. } catch (InstantiationException e) {
    30. e.printStackTrace();
    31. } catch (InvocationTargetException e) {
    32. e.printStackTrace();
    33. } catch (NoSuchMethodException e) {
    34. e.printStackTrace();
    35. }
    36. }
    37. }
    38. // 原理也是通过Java的反射机制来做的。
    39. // 2、 将一个Map对象转化为一个Bean
    40. // 这个Map对象的key必须与Bean的属性相对应。
    41. Map map = new HashMap();
    42. map.put("name","tom");
    43. map.put("email","tom@");
    44. map.put("age","21");
    45. //将map转化为一个Person对象
    46. Person person = new Person();
    47. BeanUtils.populate(person,map);
    48. // 通过上面的一行代码,此时person的属性就已经具有了上面所赋的值了。
    49. // 将一个Bean转化为一个Map对象了,如下:
    50. Map map = BeanUtils.describe(person)  
  • 相关阅读:
    Leetcode 1184. 公交站间的距离
    Leetcode 1232. 缀点成线
    Leetcode1539. 第 k 个缺失的正整数
    Leetcode 1299. 将每个元素替换为右侧最大元素
    Leetcode 1508. 子数组和排序后的区间和
    Leetcode 1509. 三次操作后最大值与最小值的最小差
    Leetcode 1207. 独一无二的出现次数
    Leetcode 1507. 转变日期格式
    Leetcode 1217. 玩筹码
    SQL Server自动产生一年多少周及月
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3576036.html
Copyright © 2020-2023  润新知