Я пытаюсь оптимизировать проверку весны, пропуская как можно больше удаленных баз данных. Вот пример валидатор, что у меня есть:Оптимизация проверки весны формы (короткое замыкание)
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import com.my.Car;
public class CarValidator implements Validator {
@Override
public boolean supports(Class<?> c) {
return c.equals(Car.class);
}
@Override
public void validate(Object car, Errors result) {
ValidationUtils.rejectIfEmptyOrWhitespace(result, "seats", "NotEmpty.car.seats");
ValidationUtils.rejectIfEmptyOrWhitespace(result, "colour", "NotEmpty.car.colour");
// hitting the database here
}
}
Я не хочу, чтобы получить доступ к базе данных, если некоторые из первых двух валидаций не увенчались успехом. Если сидения или цветовые поля пусты, прекратите обработку валидации и вернитесь к контроллеру. Но если все проверки пройдены, нажмите на db, а затем сделайте все остальное. Как оценка короткого замыкания И на большинстве языков.