org.apache.commons.beanutils.BeanMap简单使用例子

时间:2022-10-02 13:31:28
一、org.apache.commons.beanutils.BeanMap;
将一个java bean允许通过map的api进行调用,

几个支持的操作接口:

  • Object get(Object key)
  • Object put(Object key, Object value)
  • void putAll(Map t)
  • Set entrySet()
  • Collection values()
  • boolean containsKey(Object key)
  • ....
例如:
//将student的信息拼成字符串,格式:stuname|stuage|stuclass
protected String getLine(Student student) {
           StringBuilder sb = new StringBuilder();
           BeanMap map = new BeanMap(student );
           appStr(sb, map, "stuname");
           appStr(sb, map, "stuage");
           appStr(sb, map, "stuclass");
           return sb.toString();
     }
 
//将teacher的信息拼成字符串,格式:tname|tage|tclass
protected String getLine(Teacher teacher) {
           StringBuilder sb = new StringBuilder();
           BeanMap map = new BeanMap(teacher);
           appStr(sb, map, "tname");
           appStr(sb, map, "tage");
           appStr(sb, map, "tclass");
           return sb.toString();
     }
     
 
//拼字符串公用方法,将不同的对象,比如studengt和teacher的信息通过map传到方法里
protected void appStr(StringBuilder sb, Map<String, Object> map,
                String str) {
           Object value = map.get(str);
           sb.append(newValue).append("|");
     }
 
 
注意:在上面的例子中,虽然可以直接用
sb.append(student.getStuname()).append("|").append(student.getStuage()).append("|").append(student.getStuclass);
来拼接字符串,但却使用了BeanMap,我认为原因就在于同时有多个对象(如student、teacher等)需要用到拼接字符串的方法,
想要抽象出公共的方法,因此使用了BeanMap ,这样不需要将没个对象都传到appStr中,只需要传一个BeanMap对象就可以了。
 
 

org.apache.commons.beanutils.BeanMap简单使用例子的更多相关文章

  1. Apache Commons 工具类简单使用

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

  2. Apache Commons Beanutils 二 (动态Bean - DynaBeans)

    相关背景 上一篇介绍了PropertyUtils的用法,PropertyUtils主要是在不修改bean结构的前提下,动态访问bean的属性: 但是有时候,我们会经常希望能够在不定义一个Java类的前 ...

  3. Apache Commons Beanutils对象属性批量复制&lpar;pseudo-singleton&rpar;

    Apache Commons Beanutils为开源软件,可在Apache官网http://commons.apache.org/proper/commons-beanutils/download_ ...

  4. Apache Commons Beanutils 三 (BeanUtils、ConvertUtils、CollectionUtils&period;&period;&period;)

    前言 前面已经学习了Apache Commons Beanutils包里的PropertyUtils和动态bean,接下来将学习剩下的几个工具类,个人觉得还是非常实用的,特别是CollectionUt ...

  5. Apache Commons Beanutils 一 (使用PropertyUtils访问Bean属性)

    BeanUtils简要描述 beanutils,顾名思义,是java bean的一个工具类,可以帮助我们方便的读取(get)和设置(set)bean属性值.动态定义和访问bean属性: 细心的话,会发 ...

  6. 再续前缘-apache&period;commons&period;beanutils的补充

    title: 再续前缘-apache.commons.beanutils的补充 toc: true date: 2016-05-32 02:29:32 categories: 实在技巧 tags: 插 ...

  7. org&period;apache&period;commons&period;beanutils&period;ConversionException&colon; No value specified解决办法

    转自:https://www.cnblogs.com/linjiqin/archive/2011/07/21/2112628.html 当用到了java.sql.Date时间等非内置对象时,如果对象为 ...

  8. Apache Commons BeanUtils

    http://commons.apache.org/proper/commons-beanutils/javadocs/v1.9.2/apidocs/org/apache/commons/beanut ...

  9. myeclipse的项目导入到eclipse下,com&period;sun&period;org&period;apache&period;commons&period;beanutils&period;BeanUtils不能导入

    com.sun.org.apache.commons.beanutils.BeanUtils这个包不能引入了怎么办自己下了个org.apache.commons的jar包了之后,改成import or ...

随机推荐

  1. HD3033I love sneakers&excl;&lpar;分组背包&plus;不懂&rpar;

    I love sneakers! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  2. mysql 索引 详解

    索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytabl ...

  3. Activtiy

    Class Overview An activity is a single, focused thing that the user can do. Almost all activities in ...

  4. highcharts联合jquery ajax 后端取数据

    Highcharts是一个制作图表的纯Javascript类库,主要特性如下: 兼容性:兼容当今所有的浏览器,包括iPhone.IE和火狐等等: 对个人用户完全免费: 纯JS,无BS: 支持大部分的图 ...

  5. IO 延迟与Queue Depth

     IO 延迟:存储设备的IO延迟 Queue Depth:磁盘控制器所发出的批量指令的最大条数 IOPS:磁盘设备每秒的IO 三者之间的关系:IOPS=(Queue Depth)/(IO latenc ...

  6. &lbrack;转&rsqb;windows10 64位环境下安装mysql5&period;7&period;17

    今天以zip模式在windows10 64位环境下安装mysql5.7,到最后一步提示mysql服务无法启动. 安装步骤如下: 1.配置环境变量 我的电脑->属性->高级->环境变量 ...

  7. 探讨弹性布局Flexible Box

    虽然Flex布局09年就被W3C所提出,但是目前浏览器支持上还不是很好,网上找的一张图片,仅供参考: 我们先从简单讲起.如果仅仅只想实现一个栅格布局,没必要引入一个复杂的框架(如bootstrap), ...

  8. eclipse jpa 工具生成实体类

    1,配置数据库连接 打开eclipse, 选择数据库: 下一步,选择驱动包 根据自己的驱动包路径选择对应的驱动包: 2,配置jpa-tool 在项目上面右键->properties 点击ok,然 ...

  9. abap 从屏幕输入数据

    1: 从屏幕输入数据: 直接定义parameters类型(该类型的变量名不能超过8个字符. REPORT ZHANSEN34. *SELECTION-SCREEN BEGIN OF LINE. * S ...

  10. scala字段权限问题

    1.对象私有字段 1)private class Counter(num: Int) { private var value = 0 def increment() = { value += 1 } ...