10 sping核心技术验证(Validation) 数据绑定(Data Binding)

本文介绍了Spring框架中的Validator接口用于对象验证,展示了如何创建PersonValidator并检查年龄范围。同时讨论了DataBinding的用途,涉及ConstructorBinding和PropertyBinding,以及Spring的类型转换和格式化接口Converter和Formatter。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Validation

Spring提供了一个Validator接口,您可以使用它来验证对象。Validator接口通过使用Errors对象来工作,以便在进行验证时,验证器可以向Errors对象报告验证失败
public class Person {

 private String name;
 private int age;

 // the usual getters and setters...
}
public class PersonValidator implements Validator {

	/**
	 * This Validator validates only Person instances
	 */
	public boolean supports(Class clazz) {
		return Person.class.equals(clazz);
	}

	public void validate(Object obj, Errors e) {
		ValidationUtils.rejectIfEmpty(e, "name", "name.empty");
		Person p = (Person) obj;
		if (p.getAge() < 0) {
			e.rejectValue("age", "negativevalue");
		} else if (p.getAge() > 110) {
			e.rejectValue("age", "too.darn.old");
		}
	}
}

Data Binding

数据绑定对于将用户输入绑定到目标对象非常有用,其中用户输入是一个映射,属性路径作为键,遵循JavaBeans约定。DataBinder是支持此功能的主要类,它提供了两种绑定用户输入的方法:

  • Constructor binding
  • Property binding with BeanWrapper
    在这里插入图片描述

Spring Type Conversion

  • Converter SPI
package org.springframework.core.convert.converter;

public interface Converter<S, T> {

	T convert(S source);
}

Spring Field Formatting

package org.springframework.format;

public interface Formatter<T> extends Printer<T>, Parser<T> {
}

在这里插入图片描述引用:https://www.cnblogs.com/daimzh/p/12854385.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值