2016-08-25 4 views
4

Я писал приложение Spring Boot. Я хотел знать, что Spring Boot автоматически разрешает ключи сообщений в аннотациях аннотации javax и hibernate. Например:Загружает ли Spring Boot автоматически ключи сообщений в аннотации проверки javax и hibernate

@NotEmpty(message = "${message.key}") 
String name; 

Я представил @PropertySource в моем приложении с файлом свойств сообщений и файл также в моем пути к классам. Клавиши разрешаются с помощью @Value, но они не разрешаются в аннотациях проверки.

В чем причина этого?

Нужно ли мне настроить компонент источника сообщений? Потому что я видел примеры работы без настройки компонента источника сообщений.

ответ

3

Ваши сообщения в нужном месте? Spring Boot automatically registers a MessageSource bean for you, поэтому вы должны поместить свои сообщения в файл src/main/resources/messages.properties. Если вы включили автоконфигурацию и также имеете зависимость hibernate-validator от пути к классам, все должно работать из коробки.

Также @PropertySource связан со свойствами конфигурации приложения, а не сообщения поэтому тот факт, что это не их решения следует ожидать ^^

+0

Спасибо за ответ. Итак, имя имени файла свойства должно быть message.properties? Что делать, если я хочу иметь другое имя для файла или нескольких файлов сообщений проверки? – Kiba

+0

Должен ли я использовать свойство spring.messages.basename, если у меня есть другой файл имени или несколько файлов. Есть ли синтаксис имени файла свойств для автоматического поиска нескольких файлов? – Kiba

+0

Да, это именно то, как вы переопределили имя файла по умолчанию. Вы также можете назвать несколько файлов, свойство принимает список, разделенный запятой –