如何避免与@ConfigurationProperties重复?

时间:2019-02-14 18:34:53

标签: spring string-externalization

我有这个@ConfigurationProperties课:

@Configuration
@Validated
@ConfigurationProperties(prefix="error")
@PropertySource("classpath:errorMessages.properties")
public class ErrorConfig {

  @NotEmpty
  private HashMap<Long, String> messages = new HashMap<>();

  public String getStandardText(long code) {
    return messages.get(code);
  }
}

这个文件errorMessages.properties

#ErrorHandler errors
error.messages.2=value with different type
error.messages.3=url value not valid
error.messages.4=request body not valid
error.messages.5=null pointer exception, ask for support
error.messages.6=numeric values only with numbers, dates should use 'yyyy-MM-dd' format and booleans only accept true or false
# Core errors
error.messages.1=entity not found
error.messages.7=several entities found

在投射某些异常时,我使用

errorConfigInstance.getStandardText(3);

例如。这样,我可以外部化错误消息。但是我有一个问题。开发人员插入了一个新错误,忘记了使用新数字,并且由于我使用了HashMap,因此最后一个数字将其覆盖。如果Spring检测到重复条目,如何在启动时崩溃我的应用程序?使用@NotEmpty我已经设法在找不到任何行的情况下停止启动。春天有可能吗?

0 个答案:

没有答案