The ValidationBindHandler uses BeanPropertyBindingResult to collect errors. This makes the assumption that bean properties are available as standard visible getters/setters. Whilst this is a relatively safe assumption for 2.1.x, with the constructor binding of 2.2.x we should no longer assume that properties have getters. We also want to support package private binding (#17394) which is not supported by BeanPropertyBindingResult.