同样在第1步的转换器的工作完成后,第2步就开始校验器的初始化了。
@Override
public void run() {
//1、转换器初始化
runSafely(new ConversionServiceInitializer());
//2、校验器初始化
runSafely(new ValidationInitializer());
runSafely(new MessageConverterInitializer());
runSafely(new JacksonInitializer());
runSafely(new CharsetInitializer());
preinitializationComplete.countDown();
}
1、整体流程
构建的顺序是,需要先有Provider,可以用系统默认的,也可以对此Provider进行配置(Provider就是我们拥有什么需求及参数需要进而定制出了自己的实现类,如果没有就使用默认的),拿到配置对象就可以创建校验工厂啦ValidatorFactory,而我们需要的Validator是需要从ValidatorFactory中获取的,这也符合工厂模式。
springboot内置使用的是hibernate的校验体系,我们在上面提到的几个核心类,都是使用的hibernate的实现
Provider:
public class HibernateValidator implements ValidationProvider<HibernateValidatorConfiguration>
Configuration :
public class Configura