Hibernate Validation - это реализация JSR 303: Bean Validation API. Spring имеет свой пакет проверки (он поддерживает JSR 303: Bean Validation API, но не поддерживает надлежащую реализацию).
Вы могли заметить, что org.springframework.validation.Validator
отличается от javax.validation.Validator
.
Вы можете выполнить Spring Validation, просто создав класс, реализующий org.springframework.validation.Validator
так же просто, как здесь Но если вам нужно следовать спецификациям JSR 303: Bean Validation API, вы делаете это через Hibernate Validator.
Хорошо, чтобы добавить больше деталей.
1) Если вы хотите выполнить (некоторую) проверку, это можно сделать с помощью spring. (ниже фрагмент):
import org.springframework.validation.Validator;
class MyService{
Validator validator = new MyValidator();
//perform validation
}
class MyValidator implements Validator{
// Your own validation logic. You may use ValidationUtils to help.
}
2) Если вы хотите выполнить проверку (спецификация JSR 303), вам нужен ее провайдер, например Hibernate.
import javax.validation.Validator;
class MyService{
ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); //Bootstraping
Validator validator = factory.getValidator();
//perform validation
}
Вышеупомянутый процесс начальной загрузки поддерживается Spring Framework. Все, что вам нужно сделать, это позволить Spring создать компонент для LocalValidatorFactoryBean
<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
и введите этот bean.
import javax.validation.Validator;
@Service
public class MyService {
@Autowired
private Validator validator;
}
person
sql_dummy
schedule
12.11.2018