1

У меня есть один проект весны maven (как библиотека), и я добавляю его как зависимость в проект Spring maven (веб-сервис). У меня есть некоторые файлы свойств в обоих проектах. В библиотеке есть один файл validationmessages.properties.Как читать файл .properties из библиотеки в проект spring maven

Я использую аннотации валидатора hibernate для своей модели. Например,

@NotBlank(message = "{NotBlank-entityId}") 
Private String entityId; 

Класс модели, которая находится в библиотеке, используя в качестве тела запроса в веб-сервиса, здесь библиотека сообщения проверки спящего режима не работает в веб-сервиса. Вот код:

Модель: Task.java (в библиотеке)

public class Task { 

@NotBlank(message = "{NotNull-EntityID}") 
    private String entityId; 

public String getEntityId() { 
    return entityId; 
    } 

    public void setEntityId(final String entityId) { 
    this.entityId = entityId; 
    } 
} 

Taskvalidationmessages.properties (В библиотеке)

NotNull-EntityID = Entity ID can not be null. 

TaskManagementConfiguration.java (в библиотеке)

@Configuration 
@PropertySources({ @PropertySource("classpath:queries.properties"), 
    @PropertySource("classpath:Taskvalidationmessages.properties") }) 
@Import(DataSourceConfiguration.class) 
public class TaskManagementConfiguration { 

} 

TaskResource.java (Контроль Лер в WebService проекта)

@RequestMapping(value = WebserviceConstant.CREATE_TASK, method = RequestMethod.POST, produces = WebserviceConstant.APPLICATION_JSON) 
    public ResponseEntity<CreateTaskResponse> createTask(
     @Valid @RequestBody final Task request, 
     @RequestHeader(value = "access-token") final String accessToken) { 

    return new ResponseEntity<CreateTaskResponse>(
     taskService.createTask(request, receivedToken), HttpStatus.CREATED); 
    } 

App.java (В проекте веб-службы)

@Configuration 

@SpringBootApplication 
@PropertySources({ @PropertySource("classpath:user-queries.properties") }) 

@Import({ TaskManagementConfiguration.class }) 
public class App { 

    public static void main(final String[] args) { 
    SpringApplication.run(App.class, args); 
    } 

} 

Всякий раз, когда я ударил URL ресурса с пустым значением EntityId. Это дает ошибку, как:

{ 
    "fieldErrors": [ 
    { 
     "field": "entityId", 
     "code": 200, 
     "message": "{NotNull-EntityID}" 
    } 
    ] 
} 

ответ

0

Вам нужно org.springframework.validation.beanvalidation.LocalValidatorFactoryBean

Добавить валидатор боб в вашей конфигурации (TaskManagementConfiguration)

@Bean(name = "messageSource") 
public MessageSource messageSource() 
{ 
    ReloadableResourceBundleMessageSource bean = new ReloadableResourceBundleMessageSource(); 
    bean.setBasename("classpath:Taskvalidationmessages"); 
    bean.setDefaultEncoding("UTF-8"); 
    return bean; 
} 

@Bean(name = "validator") 
public LocalValidatorFactoryBean validator() 
{ 
    LocalValidatorFactoryBean bean = new LocalValidatorFactoryBean(); 
    bean.setValidationMessageSource(messageSource()); 
    return bean; 
} 
+0

Тем не менее это не работает. – Kishori

+0

вы можете обновить свою полную конфигурацию – kuhajeyan

 Смежные вопросы

  • Нет связанных вопросов^_^