Как избежать дубликатов с @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, мне уже удалось остановить запуск, если строки не найдены. Это возможно весной?