SpringBoot是否自动解析javax和hibernate验证注释中的消息键

SpringBoot是否自动解析javax和hibernate验证注释中的消息键,java,spring,spring-boot,bean-validation,Java,Spring,Spring Boot,Bean Validation,我在写一个Spring启动应用程序。我想知道SpringBoot是否会自动解析javax和hibernate验证注释中的消息键。例如: @NotEmpty(message = "${message.key}") String name; 我在应用程序中提供了带有消息属性文件的@PropertySource,文件也在我的类路径中。键正在使用@Value解析,但在验证注释中未解析它们 这可能是什么原因 我需要配置消息源bean吗?因为我看到一些示例没有配置消息源bean就可以工作。您的消息放在正确

我在写一个Spring启动应用程序。我想知道SpringBoot是否会自动解析javax和hibernate验证注释中的消息键。例如:

@NotEmpty(message = "${message.key}")
String name;
我在应用程序中提供了带有消息属性文件的
@PropertySource
,文件也在我的类路径中。键正在使用
@Value
解析,但在验证注释中未解析它们

这可能是什么原因


我需要配置消息源bean吗?因为我看到一些示例没有配置消息源bean就可以工作。

您的消息放在正确的位置了吗?Spring引导,因此您应该将消息放在
src/main/resources/messages.properties
文件中。如果您已经启用了自动配置,并且在类路径上还具有hibernate验证器依赖项,那么一切都应该是现成的


另外,
@PropertySource
与应用程序的配置属性相关,而不是与消息相关,因此它没有解析这些属性的事实是可以预料的^^ ^

谢谢您的回答。那么属性文件名的名称必须是message.properties?如果我想为文件或多个验证消息文件使用不同的名称,该怎么办?如果我有不同名称的文件或多个文件,我应该使用spring.messages.basename属性吗。是否有属性文件名语法可用于自动拾取多个文件?是的,这正是覆盖默认文件名的方式。您还可以命名多个文件,该属性接受逗号分隔的列表。请查看(在“国际化”下)以查看您配置/覆盖的内容。谢谢您的帮助。