У меня есть Enum, содержащий три разных типа статуса. Эти статусы должны отображаться в электронном письме, отправляемом пользователям, а строки, содержащие отображаемые статусы, хранятся в messages.properties (читать с использованием реализации класса Spring org.springframework.context.MessageSource). Это хорошо работает в обычном Spring-контроллере. Однако я бы предпочел получить «отображение статуса» в Enum (чтобы логика содержалась в одном месте).
Однако автоматическое подключение источника сообщений к перечислению, как показано в следующем коде, похоже, не работает, поскольку свойство messageSource всегда пусто.
public enum InitechStatus{
OPEN("open"), CLOSED("closed"), BROKEN("broken");
public final String name;
@Autowired
private MessageSource messageSource;
InitechStatus(String name) {
this.name = name;
}
@Override
public String toString() {
String displayStatusString = messageSource.getMessage("page.systemadministration.broadcastmail.status."
+ this.name, null, Locale.ENGLISH);
return displayStatusString;
}
}
Как я могу использовать автоматический источник сообщений в Enum (или есть какой-то другой способ добиться того, что я пытаюсь)?