无法解析 'BeanUtils' 中的方法 'getProperty'
Cannot resolve method 'getProperty' in 'BeanUtils'
我正在尝试使用休眠验证器制作自定义注释,在 Whosebug 上找到了一个“旧”代码,但有一个方法叫做
BeanUtils.getProperty ()
其中 returns 我出现以下错误:
Cannot solve method 'getProperty' in 'BeanUtils'
最近在网上没找到相关资料,请问这个方法不存在了吗?我怎样才能更换它并保持功能?
这里是我指的代码:
package br.com.bandtec.projetocaputeam.dominio.validator;
import org.springframework.beans.BeanUtils;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import java.lang.reflect.InvocationTargetException;
/**
* Implementation of {@link NotNullIfAnotherFieldHasValue} validator.
**/
/**
* Implementation of {@link NotNullIfAnotherFieldHasValue} validator.
**/
public class NotNullIfAnotherFieldHasValueValidator
implements ConstraintValidator<NotNullIfAnotherFieldHasValue, Object> {
private String fieldName;
private String expectedFieldValue;
private String dependFieldName;
@Override
public void initialize(NotNullIfAnotherFieldHasValue annotation) {
fieldName = annotation.fieldName();
expectedFieldValue = annotation.fieldValue();
dependFieldName = annotation.dependFieldName();
}
@Override
public boolean isValid(Object value, ConstraintValidatorContext ctx) {
if (value == null) {
return true;
}
try {
String fieldValue = BeanUtils.getProperty(value, fieldName);
String dependFieldValue = BeanUtils.getProperty(value, dependFieldName);
if (expectedFieldValue.equals(fieldValue) && dependFieldValue == null) {
ctx.disableDefaultConstraintViolation();
ctx.buildConstraintViolationWithTemplate(ctx.getDefaultConstraintMessageTemplate())
.addNode(dependFieldName)
.addConstraintViolation();
return false;
}
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
throw new RuntimeException(ex);
}
return true;
}
}
以及 here's 我获得此代码的页面
所以我检查了 Spring-Framework BeanUtils.java
.
但是没有任何方法getProperty()
。
然后我寻找其他 BeanUtils.getProperty() 方法并且有 Apache Commons
BeanUtils.
看看classmethods/fields and here the getProperty()
您还可以搜索 PropertyUtils class
还要查看 here 示例。
希望对您有所帮助。祝你好运:)
我正在尝试使用休眠验证器制作自定义注释,在 Whosebug 上找到了一个“旧”代码,但有一个方法叫做
BeanUtils.getProperty ()
其中 returns 我出现以下错误:
Cannot solve method 'getProperty' in 'BeanUtils'
最近在网上没找到相关资料,请问这个方法不存在了吗?我怎样才能更换它并保持功能?
这里是我指的代码:
package br.com.bandtec.projetocaputeam.dominio.validator;
import org.springframework.beans.BeanUtils;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import java.lang.reflect.InvocationTargetException;
/**
* Implementation of {@link NotNullIfAnotherFieldHasValue} validator.
**/
/**
* Implementation of {@link NotNullIfAnotherFieldHasValue} validator.
**/
public class NotNullIfAnotherFieldHasValueValidator
implements ConstraintValidator<NotNullIfAnotherFieldHasValue, Object> {
private String fieldName;
private String expectedFieldValue;
private String dependFieldName;
@Override
public void initialize(NotNullIfAnotherFieldHasValue annotation) {
fieldName = annotation.fieldName();
expectedFieldValue = annotation.fieldValue();
dependFieldName = annotation.dependFieldName();
}
@Override
public boolean isValid(Object value, ConstraintValidatorContext ctx) {
if (value == null) {
return true;
}
try {
String fieldValue = BeanUtils.getProperty(value, fieldName);
String dependFieldValue = BeanUtils.getProperty(value, dependFieldName);
if (expectedFieldValue.equals(fieldValue) && dependFieldValue == null) {
ctx.disableDefaultConstraintViolation();
ctx.buildConstraintViolationWithTemplate(ctx.getDefaultConstraintMessageTemplate())
.addNode(dependFieldName)
.addConstraintViolation();
return false;
}
} catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException ex) {
throw new RuntimeException(ex);
}
return true;
}
}
以及 here's 我获得此代码的页面
所以我检查了 Spring-Framework BeanUtils.java
.
但是没有任何方法getProperty()
。
然后我寻找其他 BeanUtils.getProperty() 方法并且有 Apache Commons
BeanUtils.
看看classmethods/fields and here the getProperty()
您还可以搜索 PropertyUtils class
还要查看 here 示例。
希望对您有所帮助。祝你好运:)