【问题标题】:customize application with xml java使用 xml java 自定义应用程序
【发布时间】:2011-05-25 20:52:15
【问题描述】:

我编写需要很多选项的应用程序。这些选项可以通过 xml 文件传递​​给应用程序。这些文件相当大,有一些级别和一些无法在模式中建模的依赖项。

所以文件通过了 jdom 模式检查。现在我想为应用程序创建一些配置对象并在一些类中设置一些变量。

我真的没有看到任何方法不对元素和属性的名称进行硬编码,然后循环这些元素并创建新对象。

这使得一个 20kLoc 应用程序有 25 个类,只保存其他类的配置。

是否有一些金锤法则如何使用 xml 和自定义应用程序。归结为将文件中的信息放入一些列表、哈希表和对象的属性中。

这可以更容易吗?一些很棒的框架,也许?反射?豆子? Beans 只是 java 编程的一个炒作词,还是我遗漏了什么?

【问题讨论】:

  • 任何应用程序都应该有一个简洁的目标......选项与功能的比例应该平衡,或者必须有比选项更多的功能......我想你应该开始关注什么是在你的程序中很重要,什么不是......你的用户会使用所有选项吗?

标签: java xml customization jdom


【解决方案1】:

谁控制配置文件的架构?如果可以更改它,则可以将其简化到足以限制所需类的数量。

如果它们是从外部强加的,您可能会使用 Apache Commons BeanUtils 和 Betwixt 获得一些牵引力。

【讨论】:

  • 该模式仅用于通过网络配置大量应用程序,并且几乎不可能放入无效条目。但我不明白我怎么能用它来限制我的课程。我需要所有这些选项,为了保持关注点分开,我使用不同的类。
  • @Franz Kafka:BeanUtils 允许将本质上是键值映射的 Java 对象表示为需要 Java bean 的其他框架的有效 bean。在这种情况下,您实际上不必为它们声明新类。但是我越阅读您的问题和您的 cmets,我就越认为您的应用程序的复杂性也可以证明 25 个配置类是合理的。
  • 好吧,如果我没有做完全错误的事情,我很高兴。它只是看起来很重复,总是调用这些相同的两/三行 jdom 代码并创建单独的对象。但这不能适用于一般创建我的类的一些很棒的功能。
  • @Franz Kafka:如果问题是实际解析,而不是定义配置类,您可以考虑查看 XStream 或 Digester。当您使用这些库时,您只需描述如何将 XML 映射到您的类的对象,而不是逐个节点地解析 XML、创建对象和分配属性。
猜你喜欢
  • 2010-10-17
  • 2012-05-04
  • 1970-01-01
  • 1970-01-01
  • 2014-01-18
  • 2010-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多