Проверка гибкого режима / Spring / Hibernate — средство проверки spring и переводчик исключений

#spring #dao #validation

#spring #dao #проверка

Вопрос:

Я новичок в упомянутых технологиях и простите меня, если я задаю несколько глупых вопросов.

У меня проблема с кодом проверки в моем приложении. Очень часто я нарушаю принцип DRY. Кроме того, проверка меня как-то смущает. Я всегда спрашиваю себя, куда поместить некоторые материалы для проверки, проверено или снято, что распространять, что проверять и т.д. Тем не менее, есть несколько тем об упомянутых материалах, поэтому я сосредоточусь на моей конкретной проблеме с технологиями F / S / H.

Например, мой метод сохранения DAO имеет следующую проверку:

 public void save(Person p){  
    if(p==null) throw IllegalArgumentException("Person object is required...");
    //...
}
  

Точно такая же проверка у меня также есть в методах удаления, обновления и чтения на уровне DAO.

Я искал какое-то решение с com.springframework.validation.Интерфейс Validator, но я сталкиваюсь с проблемой распространения кодов ошибок на Flex-клиент. Возможно, я мог бы сделать что-то вроде этого…

 public void save(Person p){
    BeanPropertyBindingResult err = new BeanPropertyBindingResult(p,"Errors");              
    //myValidator will be injected   
    myValidator.validate(p,err);
    //...
    throw MyException("Message",err);
    //...
}
  

Я не знаю, хороший ли это подход. Какой подход к проверке использовать, чтобы минимизировать повторение такого кода проверки. Если кто-нибудь может дать мне какое-нибудь направление, подсказку, ссылку, я буду признателен.

Ответ №1:

Может быть, вам стоит попробовать какое-нибудь решение, основанное на разработке аннотаций контракта, например, Contract4j?