当前位置: 首页 > 知识库问答 >
问题:

设计模式将JAXB绑定到域对象,反之亦然

东方英豪
2023-03-14

我们有多个RESTful服务,需要JAXB到域对象之间的对象映射,反之亦然。

我正在考虑定义一个类似于以下内容的公共接口//映射器接口

   public interface Mapper{
       Object toDomainObject(Object jaxb);
       Object toClientObject(Object domain);
    }

//RecorderMapper类-实现映射器接口

public class RecorderMapper implements Mapper{
            @Override
        public Object toDomainObject(Object obj) {
            JAXBRecorderRequest jAXBRecorderRequest = (JAXBRecorderRequest)obj;
            RecorderDomain recorderDomain = new RecorderDomain();
            //map to jaxb to domain
            return recorderDomain;
        }

        @Override
public Object toClientObject(Object obj) {
    RecorderDomain recorderDomain = (RecorderDomain)obj;
    JAXBRecorderResponse jaxbRecorderResponse = new JAXBRecorderResponse();
    //map domain to jaxb
    return jaxbRecorderResponse;
}
}

//Recorder服务类-使用Mapper进行对象映射

public class Recorder Service {
    @Autowired
    private Mapper mapper;
    public JAXBRecorderResponse create(JAXBRecorderRequest jaxbRecorderRequest){
        RecorderDomain recorderDomain =(RecorderDomain) mapper.toDomainObject(jaxbRequest);
        return (JAXBRecorderResponse)mapper.toClientObject(recorderDomain);

    }
}

主要思想是定义一个通用模式来在整个团队中实现对象映射。

我想知道是否有更好的方法。

非常感谢您的帮助。

共有1个答案

壤驷旭
2023-03-14

您可以使用推土机进行绘图。

 类似资料:
  • 我不希望GUI代码(即JavaFX类)出现在我的域对象中。 我需要编写一个适配器类来将我的域对象转换为JavaFX树吗?然后将侦听器添加到树中,并将更改映射回域对象?还是有更好的办法?

  • 问题内容: 我在文件中定义了一个Point对象,如下所示: 现在,当我使用JSON通过以下代码将对象转换为JSON时: 我收到以下错误: 如何使用JSON模块在JSON与对象之间进行转换? 问题答案: 警告会告诉您大部分错误。除非您告诉 如何处理 祝福的 引用(Perl对象),否则 仅处理非祝福的数据结构。 你可以,你可以。对于,它说: 如果为false(默认值),则编码在遇到受祝福的对象时将引发

  • 空对象(Null) Intent 使用什么都不做 的空对象来代替 NULL。 一个方法返回 NULL,意味着方法的调用端需要去检查返回值是否是 NULL,这么做会导致非常多的冗余的检查代码。并且如果某一个调用端忘记了做这个检查返回值,而直接使用返回的对象,那么就有可能抛出空指针异常。 Class Diagram Implementation // java public abstract clas

  • 问题内容: 我需要为我的可定制搜索界面(正在编写的Web应用程序)在Java中实现查询对象模式。 有人知道我可以从哪里获得查询对象模式的示例/教程(马丁·福勒的QoP)吗? 提前致谢 附加 如何将查询模式添加到现有DAO模式? 问题答案: “查询对象模式”中的单词“模式”放错了位置(IMHO)。这不是真正的设计模式。“查询对象”只是解释器模式的另一个示例。遗留的Hibernate Criteria

  • 本文向大家介绍C++设计模式之抽象工厂模式,包括了C++设计模式之抽象工厂模式的使用技巧和注意事项,需要的朋友参考一下 问题描述 之前讲到了C++设计模式——工厂方法模式,我们可能会想到,后期产品会越来越多了,建立的工厂也会越来越多,工厂进行了增长,工厂变的凌乱而难于管理;由于工厂方法模式创建的对象都是继承于Product的,所以工厂方法模式中,每个工厂只能创建单一种类的产品,当需要生产一种全新的

  • 本文向大家介绍浅析php设计模式之数据对象映射模式,包括了浅析php设计模式之数据对象映射模式的使用技巧和注意事项,需要的朋友参考一下 php中的设计模式中有很多的各种模式了,在这里我们来为各位介绍一个不常用的数据映射模式吧,希望文章能够帮助到各位。 数据映射模式使您能更好的组织你的应用程序与数据库进行交互。 数据映射模式将对象的属性与存储它们的表字段间的结合密度降低。数据映射模式的本质就是一个类