+-

我有这样的枚举:
public enum SomeEnum {
ONE (new MyClass()),
TWO (new MyClass());
private final MyClass instance;
private SomeEnum(MyClass instance) {
this.instance = instance;
}
}
如何从Spring上下文中将MyClass实例传递给枚举构造函数?它甚至可能吗?
我需要它,因为我在创建它时将一些参数从config(.properties文件)传递到MyClass实例.现在我在使用bean的xml文件中执行它,也许还有另一种方法?
最佳答案
你不能做这个.
在这篇关于枚举类型的official Java tutorial中,它说明了这一点
Note: The constructor for an enum type must be package-private or
private access. It automatically creates the constants that are
defined at the beginning of the enum body. You cannot invoke an enum
constructor yourself.
由于Enum应该是一组常量,因此能够创建新的常量是没有意义的,因此构造函数即使通过反射也不可用.
点击查看更多相关文章
转载注明原文:java – 如何使用Spring在枚举构造函数中注入参数? - 乐贴网