如何迁移到XML配置

时间:2011-11-29 17:54:38

标签: java xml

我需要将一些应用程序配置类移动到XML。这些类主要有枚举,其他类使用。这些枚举广泛用于我们的应用程序。 例如,我们有像

这样的类
    enum ColumnType{
        type1("Type1"),type2("type2"),type3("type3")
    }

我们还需要这些类型来实例化类。 例如,

    Processor p = new StringValueProcessor(ColumnType.type1);

如何在不更改应用程序中的依赖项的情况下将其移动到XML文件?

编辑: 保留这些枚举并不是强制性的,我不想针对从xml创建的类编译代码。配置需要是动态的,这是迁移到XML的重点,因此我们可以用XML配置事物,而不需要编译和重新部署。 我主要担心的是能够将所有列类型的实例限制为一个,并使其在我的应用程序中可访问。

编辑:在考虑了设计一段时间之后,我已经缩小到两个基本要求。 1)我会定义一些带有一些属性的xml标签,我需要将它转换为对象 2)我还会定义一些标签(在web.xml中定义servlet的方式),我需要初始化相应的类 3)我将进一步定义一些映射标签,它们将步骤1)中创建的对象映射到步骤2)中初始化的实例。这应该转换为java HashMap,其中在步骤1)中只能定义一个对象实例,但是对于每个映射,将在步骤2)中定义新的对象实例。 是否有一个框架可以提供开箱即用的功能?

2 个答案:

答案 0 :(得分:1)

您可以使用XML文件生成枚举。这必须在编译/构建时完成,或者你不能在代码中使用它们,就像第二个例子一样(因为它们在编译时不存在)

为什么要将枚举迁移到XML?

答案 1 :(得分:1)

我认为您要找的答案是使用JAXB。它允许您将XML转换为POJO,反之亦然。它甚至具有使用枚举的一些功能。您所要做的就是为您的java添加一些注释,您可以转换为XML和从XML转换。

通过使用注释,您不会影响任何现有功能。