我需要将一些应用程序配置类移至 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/