然后再回答下顺序的问题,我又debug了下执行过程,既然你已经找到了【是通过org.hibernate.validator.internal.metadata.BeanMetaDataManager.beanMetaDataCache获取的】,那么接着往下看可以看到cache中不存在时(项目首次启动后)会通过createBeanMetaData方法创建BeanMetaData,里面的关键步骤就是将你入参里面所有的校验方式add到一个Set<MetaConstraint<?>>类型的set中,这是一个hashSet,所以是无序的。参数校验时去遍历这个set,目前我没有找到能使之有序的办法。如果你找到了欢迎再一起交流下~
【扩】基于注解的参数校验器Hibernate Validator前言 你还在为校验入参时写的那一串 if...else... 而苦恼嘛?你还在为了编写一个功能全面的参数校验器而夜夜不寐嘛?No~ NoNo~ NoNoNo~ No!人生苦短...