枚举类 Level.java
public enum Level {
LOW("0", "level.LOW"),
MEDIUM("1", "level.MEDIUM"),
HIGH("2", "level.HIGH");
private String value;
private String description;
private Level(String value, String description) {
this.value = value;
this.description = description;
}
public String getValue() {
return this.value;
}
public String getDescription() {
return messageSource.getMessage(description, null, description, null);
}
//spring 框架的类
private MessageSource messageSource;
public Level setMessageSource(MessageSource messageSource) {
this.messageSource = messageSource;
return this;
}
配置类
@Component
public class EnumValuesInjectionService {
@Autowired
private MessageSource messageSource;
//通过静态内部类的方式注入到bean,并 赋值到枚举中。
@PostConstruct
public void postConstruct() {
for (Level level : EnumSet.allOf(Level.class)) {
level.setMessageSource(messageSource);
}
}
}
在 messages.properties 中加入测试信息
level.LOW=低
level.MEDIUM=中
level.HIGH=高
版权声明:本文为yuzheh521原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。