【发布时间】:2021-03-20 13:33:59
【问题描述】:
我正在使用 Java EE 8,并且我有下一个枚举。问题是是否可以像下一行一样将一个类中另一个注入变量的值分配给一个注入变量?
public enum CommandEnum {
EMPTY_COMMAND {
{
this.command = emptyCommand;
}
},
NAME_GENERATION {
{
this.command = nameGenerationCommand;
}
},
NAME_GENERATION_SETTINGS {
{
this.command = nameGenerationSettingsCommand;
}
},
SIGNIN {
{
this.command = signinCommand; // is it possible?
}
};
@Inject
@EmptyCommandQualifier
Command command;
@Inject
EmptyCommand emptyCommand;
@Inject
NameGenerationCommand nameGenerationCommand;
@Inject
NameGenerationSettingsCommand nameGenerationSettingsCommand;
@Inject
SigninCommand signinCommand;
public Command getCommand() {
return command;
}
}
谢谢。
【问题讨论】:
-
Enums 不是通过 bean 容器创建的。因此,如果我们能够以这种方式在Enum中注入任何内容,我会感到惊讶。 -
谢谢!我不知道 CDI 不支持枚举
-
但问题是实际的,因为我的意思是可以将一种类型的注入字段分配给具有相同类型的另一个注入字段的值
标签: java dependency-injection cdi java-ee-8