【问题标题】:Eclipse code generator to generate mapper ClassEclipse 代码生成器生成映射器类
【发布时间】:2012-01-10 05:27:21
【问题描述】:

我正在尝试编写一个代码生成器来使用 Eclipse 在任何两个类之间进行映射。这个想法是提供一个向导,用户可以在其中选择两个需要映射其属性的类。然后显示所有潜在的匹配项,如果用户没问题,然后创建一个 ClassMapper 类,我们将只有一个方法映射,它将执行所需的 Class1.setXXX(Class2.getXXX());

关于我们如何做到这一点的任何指示?

谢谢

【问题讨论】:

  • 您确定像 Dozer (dozer.sourceforge.net) 这样的 bean 映射器框架不适合您吗?
  • funny..我打算写一个swing程序来做这个..因为我没有找到任何eclipse插件。伙计..你必须设置这个的次数得到那个..这么多打字..但是因为不值得麻烦而停止..如果你找到一个告诉我..
  • Dozer 似乎做了我们俩都需要的事情。但它是从一个类到另一个类的静态映射。如果您需要在多个类之间映射变量,那么您需要编写/生成代码
  • 正如@sethu 提到的,我们需要它来进行静态映射。找到后我会通知你的。

标签: java code-generation


【解决方案1】:

您将要执行的操作提供与 Dozer 类似的功能,但静态代码具有此优势,即速度更快,仅在代码中包含逻辑,并且通过 IDE 中的调用层次结构更容易找到字段使用情况。

一般来说,Eclipse 插件是最好的开始方式,因为您只能投影 GUI,并且显示是由 Eclipse 本身完成的,而且您还可以访问其强大的工具来处理 java 代码。

但是,我认为更糟糕的是配置之一。 Dozer 有它的原始映射器(原始的在原始和本地 java 类型之间转换的方式;)它处理标准类型之间的最典型转换,但是经常需要配置它。例如,表示布尔值的字符串可以是“t”和“f”,或者“true”和“false”,或者“1”和“0”,或者来自其他语言的单词。日期可以有各种格式等。所以你需要在这个插件中配置各种映射器,可以通过定义自己的代码 sn-ps 来处理特定的转换。

但是,如果您这样做,我们将不胜感激。 我最近在寻找可以做更多事情的东西,我的意思是它既可以创建映射也可以创建代码将匹配的 dto,当对象子类型由各种类表示时,可以合并类层次结构以进行设计,以扁平化单类,更适合 json 传输,但是没有结果。

【讨论】:

    猜你喜欢
    • 2016-12-02
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 2012-04-26
    • 2010-09-28
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    相关资源
    最近更新 更多