文档

Java™ 教程-Java Tutorials 中文版
长期持久性
Trail: JavaBeans(TM)
Lesson: Advanced JavaBeans Topics

长期持久性

Long-term persistence (长期持久性) 是一种能够以 XML 格式保存 bean 的模型。

有关 XML 格式以及如何为非 bean 实现长期持久性的信息可以在 XML SchemaUsing XMLEncoder 中找到。

编码器和解码器

XMLEncoder 类被分配用于写入输出文件,用于 Serializable 对象的文本表示。以下代码片段是以 XML 格式编写 Java bean 及其属性的示例:

XMLEncoder encoder = new XMLEncoder(
           new BufferedOutputStream(
           new FileOutputStream("Beanarchive.xml")));

encoder.writeObject(object);
encoder.close(); 

XMLDecoder 类读取使用 XMLEncoder 创建的 XML 文档:

XMLDecoder decoder = new XMLDecoder(
    new BufferedInputStream(
    new FileInputStream("Beanarchive.xml")));

Object object = decoder.readObject();
decoder.close();

什么是 XML?

XML bean 归档文件有自己的特定语法,其中包含以下标签来表示每个 bean 元素:

以下代码表示一个 XML 存档,将生成 SimpleBean 组件:

<?xml version="1.0" encoding="UTF-8" ?>
<java>
  <object class="javax.swing.JFrame">
    <void method="add">
      <object class="java.awt.BorderLayout" field="CENTER"/>
      <object class="SimpleBean"/>
    </void>
    <void property="defaultCloseOperation">
      <object class="javax.swing.WindowConstants" field="DISPOSE_ON_CLOSE"/>
    </void>
    <void method="pack"/>
    <void property="visible">
      <boolean>true</boolean>
    </void>
  </object>
</java>

Previous page: Bean Persistence
Next page: Bean Customization