`
carlkkx
  • 浏览: 16403 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

JavaBean和FieldMap 静态定义和动态构建孰优孰劣?

阅读更多
我们来看一个JavaBean
class Bond{
private String id;
private String name;

public void setId(String id){
    this.id = id;
}

public String getId(){
    return this.id;
}

public void setName(String name){
    this.name = name;
}

public String getName(){
    return this.name;
}

然后我们来看看对应的FieldMap如何描述:
FieldMap fm = new FieldMap("Bond").putField("id","060001").putField("name","06国债01");

看起来FieldMap简洁许多,毕竟一个是静态定义一个是动态构建,一个强类型一个弱类型。
假设现在要为Bond这个类型加入发行价格和发行日期这两个属性,这时候定义JavaBean时我们将会陷入一个考量,定义什么类型,比如发行日期我们定义Date呢还是字符串?价格定义double呢还是字符串?对于拿日期来做计算或比较的,显然定义Date更合理,如果拿来是显示的显然某种格式的字符串更合适。无论你怎么定义在遇到不同场景时,必然要来回折腾转换,极为不便。
那FieldMap如何处理这样的问题呢?
假设某个Field是发行日期,它的name是iDate,像下面这样我们拿到的是什么?
fieldMap.getField("iDate").getValue();

答案是构造这个FieldMap时放的什么值就是什么值,比如有可能是yyyyMMdd格式的日期字符串,有可能是java的Date类型,如果你仅仅调用getValue(),那么你得到的是当初放的那个值,但是因为你知道这个Field叫iDate,里面的值一定是个日期,所以你有时候说我希望要拿Date,有时候希望要拿某种格式的字符串。因此你不仅仅可以调用Field的getValue(),你还可以这样:
fieldMap.getField("iDate").getDateValue();
fieldMap.getField("iDate").getDateStringValue();
fieldMap.getField("iDate").getDateStringValue("yyyy/MM/dd");

第一个你将直接拿到Date类型,第二个你将拿到yyyy-MM-dd格式的字符串,第三个你将拿到你自定义格式的日期字符串,比如这里就是yyyy/MM/dd。
很明显看到这里我们发现FieldMap灵活便利的多,因为即使对于同一个类型,它也有很多不同的形式。
分享到:
评论
1 楼 carlkkx 2009-11-30  
我比较疑惑,怎么没人发表一些看法?

相关推荐

    JSP结合JavaBean生成静态页面示例

    2. **模板定义**:定义好静态页面的模板,即定义好页面的基本结构和样式。这部分内容可以在`JspToStaticHTMLTest`类中的`getHeadStr()`和`getTailStr()`方法中定义。 3. **内容填充**:将JavaBean中的数据填充到...

    javabean概念和使用

    JavaBean 概念和使用 JavaBean 是一种 JAVA 语言写成的可重用组件。为写成 JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。...

    javabean和xml互相转换工具类以及jar包

    - **使用DOM(Document Object Model)**:通过创建Document对象,遍历JavaBean的属性,然后创建Element节点和Text节点,构建XML文档结构。 - **使用JAXB(Java Architecture for XML Binding)**:JAXB是Java标准...

    1.值JavaBean和工具JavaBean的区别.pdf

    值JavaBean和工具JavaBean的区别 JavaBean是一种特殊的Java类,它具有封装数据和提供公共方法的功能。在Java开发中,JavaBean通常被分为两类:值JavaBean和工具JavaBean。理解这两者的区别对于Java开发者来说是非常...

    JavaBean 方法的动态调用

    JavaBean的主要目的是提高代码的可维护性和可扩展性,通常用于构建用户界面组件或者作为数据传输对象。在JavaBean中,动态调用方法是一种强大的功能,允许我们在运行时决定调用哪个方法,这主要通过Java的反射机制...

    jsp+javabean构建的web工程

    综上所述,"jsp+javabean构建的web工程"是一个基础但实用的Web开发模式,它通过明确的角色分工,实现了动态网页的高效开发和维护。在实际项目中,开发者需要理解和掌握JSP的语法、JavaBean的设计以及MVC模式的应用,...

    动态生成javabean

    我们可以根据需求构建一个基础的JavaBean类,然后通过反射动态地添加属性并生成getter和setter方法。 3. **使用ASM、ByteBuddy等字节码库**:这些库提供了更底层的字节码操作能力,可以直接生成Java类的字节码,...

    JavaBean和JSP中的标准动作_总结与作业

    JavaBean和JSP是Java Web开发...总结,JavaBean和JSP标准动作是构建动态Web应用的关键工具,它们使得数据管理和页面交互变得更加简洁高效。理解并熟练运用这些概念和机制,对于成为一名合格的Java Web开发者至关重要。

    JavaBean简介

    JavaBean简介 什么是JavaBean? JavaBean的三个组成部分 JavaBean的基本特征 BeanInfo接口 JavaBean的开发模式 使用JavaBean开发应用程序 EJB简介

    JSON入门Java篇-5-用JavaBean来构建JSON.rar

    本教程将聚焦于如何使用JavaBean来构建JSON,帮助开发者更好地理解和运用这一技术。 一、JSON与JavaBean JSON是一种文本格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,但并不...

    JAVABEAN

    JavaBean遵循特定的规范,使它们能够被其他Java应用或开发工具(如IDEs)识别、可视化和操作。JavaBean的主要目标是提供组件重用,简化开发过程,并促进软件的模块化。 标题"JAVABEAN"指的是这个项目或系统是基于...

    JSP+javaBean+数据库 无限级动态树状菜单

    综上所述,这个项目结合了JSP、JavaBean和数据库技术,通过动态生成和维护无限级树状菜单,为用户提供了一种直观、易用的导航方式。开发过程中,理解数据库设计、JavaBean的业务逻辑以及JSP页面的交互逻辑是非常关键...

    JavaBean示例

    JavaBean主要用于构建Java应用程序的可重用组件,特别是在JavaServer Pages (JSP) 和Enterprise JavaBeans (EJB) 中,它们作为数据容器来传递信息。 JavaBean的核心特性包括: 1. **公共属性**:JavaBean通过公共...

    javabean规范

    JavaBean 是Java编程中的一种惯用模式,它并不是一种严格的语法规范,而是一种设计标准,目的...通过JavaBean、类型转换、静态成员、final关键字、抽象类和接口的合理使用,开发者可以构建灵活、可扩展的Java应用程序。

    JavaBean创建和使用:计算器

    在本示例中,“JavaBean创建和使用:计算器”是一个关于如何构建和运用JavaBean来实现一个简单的计算器功能的教学。我们将深入探讨JavaBean的特性、创建过程以及在实际应用中的使用方法。 首先,JavaBean遵循一定的...

    JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能( 源码打包)

    在IT行业中,Web开发是一项核心技能,而JSP(JavaServer Pages)、JavaBean和Servlet是构建动态网站的重要技术。这个项目“JSP+JavaBean+Servlet技术实现某网站用户注册和登录功能”提供了完整的源码,帮助我们深入...

    JavaBean讲解(上)

    4. 反射机制:JavaBean的属性、事件和方法可以通过反射API动态访问,增强了程序的灵活性。 使用JavaBean的场景: 1. MVC架构:在Model部分,JavaBean用于封装业务逻辑和数据,与View和Controller进行交互。 2. JSP...

    使用JSP、JavaBean和Servlet实现一个简单的留言板设计.zip

    在本项目中,我们主要探讨如何使用JSP(JavaServer Pages)、JavaBean和Servlet技术来构建一个简单的在线留言板系统。这个系统将允许用户提交留言,并将这些数据持久化存储,以便其他用户可以查看和交互。以下是对每...

    基于JavaBean和JSP模式的网上商城设计与实现.zip

    本项目以“基于JavaBean和JSP模式的网上商城设计与实现”为主题,深入探讨了如何利用这两种核心技术构建一个功能完备、用户友好的在线购物系统。 JavaBean是Java编程语言中的一种组件模型,它提供了一种标准的方式...

    JavaBean 和 JSP 中 的标准动作

    JavaBean 和 JSP 中的标准动作学习

Global site tag (gtag.js) - Google Analytics