0

我正在使用spring-data-rest,我需要使用注释配置messages.properties,我在配置类中所做的是,

@Bean public ReloadableResourceBundleMessageSource messageSource(){
    ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource = new ReloadableResourceBundleMessageSource();
    reloadableResourceBundleMessageSource.setBasename("messages");
    return reloadableResourceBundleMessageSource;
}

并尝试访问我的messages.property文件中的属性,

notnull.empty=rr is required.

作为,

ValidationUtils.rejectIfEmptyOrWhitespace(arg1, "rr", "notnull.empty", "test is required.");

在我的验证课上。但是仅收到默认消息,如果我删除默认消息,则会收到 null。是否可以通过注释配置验证消息属性文件?我是新来的弹簧,所以我不能打赌。提前致谢。

4

1 回答 1

1

问题是它无法找到消息文件。需要为该setBasename方法提供正确的位置路径。您可以通过多种方式做到这一点,我将向您展示两种:

1.使用项目根目录中的路径,例如:

    reloadableResourceBundleMessageSource.setBasename("/WEB-INF/messages/messages")‌​;

2.使用类路径中的路径,例如:

    reloadableResourceBundleMessageSource.setBasename("classpath:/messages/messages")‌​;

我更喜欢第一个,因为服务器用于缓存从类路径加载的文件,并且更难以捕获消息文件中的更改。

于 2014-03-26T11:38:03.147 回答