应用 Castor 把 XML 转换成相应的 JavaBean(二)

紧接前一篇 应用 Castor 把 XML 转换成相应的 JavaBean(一),本例稍显复杂一些,也就是要使用到映射文件,更复杂的 JavaBean、XML 数据类型和结构,引入自定的 FieldHandler,还有存在 Namespace 的情形。

关于如何使用 Castor 来把 XML 映射成 JavaBean 请着重阅读这个链接 http://www.castor.org/reference/html/XML%20data%20binding.html 中的内容,里面有说明支持的类型,如何定义自己的类型 Handler 及配置 Handler 的属性,mapping.xml 文件怎么写及各部份的意义;还有 castor.properties 的配置,比其中的 suppressNamespaces 为 true 时可以忽略掉 Namespace,默认为 false.

直接看例子吧:

1. persons.xml,这里放了一个 Namespace,并定义了一个 Address 类型,还使得节点名与 Bean 的属性名不一致: 阅读全文 >>

关于 JavaBean 规范你还是应该知道的二三事(补充)

前面写过一篇:关于 JavaBean 规范你还是应该知道的二三事,发现还略受关注。其中有人对 boolean 型属性的 getter/setter 方法还有些想法,以及 JavaBean 的规范是根据属性名找相应的 getter/setter 方法,还是由 getter/setter 定位属性呢。本文主要就这两问题展开话题,原本想附中前篇中去,但考虑会让前文凌乱,所以另立新篇。

1. 关于 boolean  型属性

分别来看看 Eclipse(3.5) 和 NetBean(6.7) 的重构功能对 boolean student 和 boolean isStudent 生成什么样的 getter/setter 方法的。 阅读全文 >>

关于 JavaBean 规范你还是应该知道的二三事

作为 Java  程序员,对于 JavaBean 也许你会说再熟悉不过了,它贯穿在系统的多层中,不同的叫法有 PO、VO、DTO、POJO、DO(Domain Object)。然而它无外乎就是一个 Class 类,带上些属性和它们的 setter/getter 方法,set/get 后面那一个字母大写。虽然我们现在很少把 JavaBean 与那个古老的 2.0 的 EJB 搞混,但为什么明明用 IDE 为属性生成的 getter/setter 方法,应用一运行,还是报找不到某个 bean 属性的 setter 或 getter 方法呢?

要知道,在 Sun 的网站上那个关于 JavaBean 规范的 PDF 文档可是有足足实实的 114 页啊。难免有些规则有点古怪,至使知名的 IDE 都难以应对,所以我们还是有必要了解其中二三,来规范我们的 JavaBean 和解释一些情形。

Sun  的关于 JavaBean 规范见:http://java.sun.com/javase/technologies/desktop/javabeans/docs/spec.html,其中可下载到 JavaBean 规范的  PDF 文档。 阅读全文 >>