Как избежать дубликатов с @ConfigurationProperties?

У меня есть это @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 ответов

Другие вопросы по тегам