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

Marshaller和Unmarshaller用法

 
阅读更多
application_marshaller配置
<bean id="castorMarshaller" class="org.springframework.oxm.castor.CastorMarshaller"/>
<bean id="application" class="spring.mashaller.Application">
  <property name="marshaller" ref="castorMarshaller" />
  <property name="unmarshaller" ref="castorMarshaller" />
</bean>


Application.java配置
public class Application {
  private static final String FILE_NAME = "settings.xml";
  private Settings settings = new Settings();
  private Marshaller marshaller;
  private Unmarshaller unmarshaller;
  //marshaller和unmarshaller的setter方法忽略
  //saveSetting方法
  public void saveSettings() throws IOException {
    FileOutputStream os = null;
    try {
      os = new FileOutputStream(FILE_NAME);
      this.marshaller.marshal(settings, new StreamResult(os));
    } finally {
      if (os != null) {
        os.close();
      }
    }
  }
  //loadSetting方法
  public void loadSettings() throws IOException {
    FileInputStream is = null;
    try {
      is = new FileInputStream(FILE_NAME);
      this.settings = (Settings) this.unmarshaller
        .unmarshal(new StreamSource(is));
    } finally {
      if (is != null) {
        is.close();
      }
    }
  }
  //执行方法
  public static void main(String[] args) throws IOException {
    ApplicationContext appContext = new ClassPathXmlApplicationContext("applicationContext_mashaller.xml");
    Application application = (Application) appContext.getBean("application");
    application.saveSettings();
    application.loadSettings();
  }
}


Setting.java配置
public class Settings {
  private boolean fooEnabled;
  //getter和setter方法忽略
}
分享到:
评论

相关推荐

    jaxb功能用法

    3. **实例化Marshaller和Unmarshaller**:在Java代码中,创建`Marshaller`和`Unmarshaller`对象,然后设置所需的属性,如编码、格式化等。 4. **序列化**:调用`Marshaller.marshal()`方法,传入Java Bean对象和...

    JAXB的HelloWorld源码

    在上述代码中,`main`方法展示了如何使用JAXBContext、Marshaller和Unmarshaller进行序列化和反序列化操作。运行这个程序,你将在控制台看到XML表示形式的`HelloWorld`对象,以及从输入流反序列化回的`HelloWorld`...

    castor 学习文档英文原版

    该节还介绍了映射文件的使用模式和xsi:type属性的用法,以及如何通过Location属性进行映射优化。 为了个性化配置Castor XML处理流程,文档的1.3节讲述了如何配置Marshaller和Unmarshaller。Marshaller负责将Java...

    Java与XML数据绑定

    - 使用`Unmarshaller.unmarshal()`方法读取XML文件并生成Java对象。 - 创建`Marshaller`实例,用于将Java对象转换为XML。 - 调用`Marshaller.marshal()`方法将Java对象写入XML文件或输出流。 3. DOM解析:DOM...

    castor资源收集 api 教程 源码

    1. 阅读官方文档:Castor的官方文档是学习的起点,它详细介绍了API的使用方法和配置。 2. 分析源码:逐行阅读关键类的源码,了解其实现逻辑。 3. 编写测试:通过编写单元测试,验证对Castor的理解,并发现潜在问题...

    jaxb和jackson的jar

    3. **JAXB与Map**:虽然JAXB不是设计用来处理Map的,但通过自定义marshaller和unmarshaller,可以实现Map到XML的转换。这个过程相对复杂,需要编写额外的代码。 4. **Jackson与Map**:Jackson对Map的支持更加友好。...

    spring整合webservice需要jar包

    对于服务提供者,你需要配置WsdlLocation,定义服务实现类,并设置相应的marshaller和unmarshaller。对于服务消费者,你需要配置目标服务的URL,创建一个WebServiceGatewaySupport的子类,重写...

    java解析xml

    在 Java 中,使用 javax.xml.bind 包中的类如 JAXBContext 和 Marshaller/Unmarshaller 来实现。JAXB 适用于对象模型和 XML 结构对应的情况,简化了 XML 的处理,但不适用于需要对 XML 进行复杂查询或操作的场景。 ...

    jaxb jar包

    5. **Marshaller和Unmarshaller**:`Marshaller`接口用于将Java对象序列化为XML,而`Unmarshaller`接口则将XML反序列化为Java对象。 **使用JAXB的优点:** 1. **自动映射**:JAXB可以自动将Java类和XML元素映射,...

    总结的最简化的一套WebService集成Spring的jar包

    通过设置消息工厂和marshaller/unmarshaller,可以方便地处理输入和输出的XML数据。 7. **安全和认证**:为了保护Web服务,可以添加安全层,如WS-Security(Web Services Security),实现用户身份验证和消息加密。...

    sping 提供的 webservice

    c) 配置 Spring:在 Spring 配置文件中,定义一个 `WebServiceTemplate` bean,并配置其消息工厂和marshaller/unmarshaller。 d) 创建服务发布类:将服务实现注入到 `WebServiceExporter` 类,然后调用 `export()` ...

    jaxb XMl和BEAN互转实例(内含jar包)

    总之,JAXB是Java中处理XML的强大工具,通过注解BEAN类和使用Unmarshaller/Marshaller对象,可以轻松地在XML文档和Java对象之间进行转换。在实际开发中,结合提供的jar包和Util工具类,可以大大提高开发效率。

    JAVA XML 解析

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件以及在Web服务中传输数据。...理解这些解析方式的原理和使用方法,是成为一名熟练的Java XML开发者的必备技能。

    使用java解析XML文件,解析完之后将解析结果导入mysql数据库中

    使用`Unmarshaller`可以从XML文件中创建Java对象,而`Marshaller`可以将Java对象转换回XML。 2. **导入数据到MySQL**: - 使用JDBC:首先,加载MySQL的JDBC驱动并通过`DriverManager.getConnection()`建立数据库...

    java xml API

    `javax.xml.bind.JAXBContext`和`javax.xml.bind.Marshaller/Unmarshaller`是JAXB的主要组件。 6. DOM4J:另一个流行的第三方库,提供了比Java内置DOM更强大的功能和性能。DOM4J提供了一个灵活的API,支持XPath查询...

    Spring_WebService源码

    4. **Jaxb2Marshaller**: Spring提供的JAXB(Java Architecture for XML Binding)marshaller/unmarshaller,用于在Java对象和XML之间进行转换。 **三、Spring WebService的工作流程** 1. **定义契约(Contract)*...

    Spring Web Services 框架入门研究--发布服务

    3. **Marshaller与Unmarshaller**:理解这两者的作用,它们负责将Java对象转换为XML消息(序列化)和将XML消息转换回Java对象(反序列化)。 4. **WSDL生成与使用**:学习如何自动生成或手动编写WSDL文件,它是服务...

    Java与xml互转

    然后,我们可以通过JAXBContext来创建`Marshaller`和`Unmarshaller`对象。`Marshaller`用于将Java对象转换为XML,而`Unmarshaller`则负责将XML转换回Java对象。例如: ```java import javax.xml.bind.JAXBContext; ...

    xml和java对象互相转换的两种方法

    - 创建`JAXBContext`实例,它是整个转换的核心,用于创建Unmarshaller(反序列化)和Marshaller(序列化)对象。 - 使用`Unmarshaller.unmarshal()`方法将XML数据转换为Java对象。 - 反之,使用`Marshaller.marshal...

Global site tag (gtag.js) - Google Analytics