使用Spring IoC设置枚举值

有没有办法在构造时通过Spring IoC设置此类枚举值?

我想做的是在类加载时注入在下面的代码片段中硬编码的值:

public enum Car

{

NANO ("Very Cheap", "India"),

MERCEDES ("Expensive", "Germany"),

FERRARI ("Very Expensive", "Italy");

public final String cost;

public final String madeIn;

Car(String cost, String madeIn)

{

this.cost= cost;

this.madeIn= madeIn;

}

}

假设该应用程序必须部署在Nanos“几乎免费”的德国或法拉利“负担不起”的印度。在这两个国家中,只有三辆汽车(确定性集合),不多不少,因此是一个枚举,但它们的“内部”值可能有所不同。因此,这是不可变的上下文初始化的情况。

回答:

你是要设置enum自己吗?

我认为那是不可能的。你不能实例化枚举,因为它们具有static本质。因此,我认为Spring IoC也无法创建 enums

另一方面,如果你需要使用进行初始化,enum请查阅Spring IoC章节。(搜索枚举)有一个简单的示例可以使用。

以上是 使用Spring IoC设置枚举值 的全部内容, 来源链接: utcz.com/qa/416375.html

回到顶部