我有一个Validator bean,它使用ReflectionParameterNameProvider
返回正确的反射变量名称,例如methodName.myVarName
反对methodName.arg0
@Bean
public Validator validator() {
final ValidatorFactory validatorFactory = Validation.byDefaultProvider()
.configure()
.parameterNameProvider(new ReflectionParameterNameProvider())
.buildValidatorFactory();
return validatorFactory.getValidator();
这可以正常工作,但我的自定义验证器中没有Autowire
个bean。
要在我的ConstraintValidator
中启用bean自动装配,我必须使用。
@Bean
public Validator validator() {
return new LocalValidatorFactoryBean();
}
但是我不能使用ReflectionParameterNameProvider
。
问题
如何将LocalValidatorFactoryBean
与ReflectionParameterNameProvider
一起使用?
答案 0 :(得分:0)
Spring LocalValidatorFactoryBean
应该包含DefaultParameterNameDiscoverer
,而StandardReflectionParameterNameDiscoverer
依赖于。它不适合你吗?你是Java 8吗? StandardReflectionParameterNameDiscoverer
应与ReflectionParameterNameProvider