#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?