java - 如何迁移到 XML 配置

标签 java xml

我需要将一些应用程序配置类移至 XML。类主要有枚举,供其他类使用。这些枚举在我们的应用程序中广泛使用。 例如,我们有这样的类

    enum ColumnType{
        type1("Type1"),type2("type2"),type3("type3")
    }

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

    Processor p = new StringValueProcessor(ColumnType.type1);

如何将其移至 XML 文件而不更改应用程序中的依赖项?

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

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

最佳答案

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

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

关于java - 如何迁移到 XML 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8315368/

相关文章:

xml - 将简单的 XML 文件加载到 Postgres 中

java - 在 XML 中发送非标准字符

java - Regex Java - Opennms HTTP 收集器

java - Jackson - 将内部对象列表反序列化为更高级别的列表

java - 赞成/反对持续集成系统

java - jaxb 生成的 ObjectFactory 方法

java - 通过pom.xml执行主类

android - 解析大文件 - OutOfMemory - Android

Java Play 2 - 手动更新

java - 使用 JSch 使用密码进行身份验证时获取 "Auth cancel"