我有这个@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我已经设法在找不到任何行的情况下停止启动。春天有可能吗?