Comment puis-je lire le contenu de Printemps Messagesource dans un Enum?

J'ai une énumération contenant trois différents types de Statut. Ces statuts doivent être affichés dans un courriel envoyé à des utilisateurs, et les chaînes contenant les statuts pour être affichés sont stockées dans les messages.propriétés (lire grâce à une mise en œuvre de Printemps de la classe org.springframework.contexte.MessageSource). Cela fonctionne bien dans des conditions normales de Printemps contrôleur. Cependant, je préfère pour obtenir le "statut" au sein de l'Enum (pour contenir la logique dans un seul endroit).

Toutefois, auto-câblage de l'messagesource enum comme dans le code suivant ne semble pas fonctionner, comme le messageSource propriété est toujours vide.


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;
        }


    }

Comment puis-je utiliser la fonction d'auto-filaire messagesource au sein de l'Enum (ou est-il un autre moyen d'obtenir ce que je veux)?

OriginalL'auteur simon | 2010-02-02