【发布时间】:2013-08-09 15:16:22
【问题描述】:
我有一个这样的枚举:
public enum SomeEnum {
ONE (new MyClass()),
TWO (new MyClass());
private final MyClass instance;
private SomeEnum(MyClass instance) {
this.instance = instance;
}
}
如何将 MyClass 实例从 Spring 上下文传递给枚举构造函数?有没有可能?
我需要它,因为我在创建它时将一些参数从配置(.properties 文件)传递到 MyClass 实例。现在我用 bean 在 xml-file 中做,也许还有另一种方法?
【问题讨论】:
-
我认为您可以改为将 MyClass 实例声明为容器中的 bean 并将 SomeEnum 转换为 qualifier。一般来说,将 Java 单例与 Spring 单例 bean 混合并不是一个好主意。