Java Bean 验证
Bean 验证概述
Bean Validation 通过约束声明和 Java 应用程序的元数据提供了一种通用的验证方式。要使用它,您可以使用声明性验证约束来注释域模型属性,然后由运行时强制执行。
Bean Validation 允许您声明约束,如以下示例所示:
public class PersonForm {
@NotNull
@Size(max=64)
private String name;
@Min(0)
private int age;
}
一个 Bean Validation 验证器然后根据声明的约束来验证这个类的实例
配置 Bean 验证提供程序
Spring 为 Bean Validation API 提供全面支持,包括将 Bean Validation 提供者引导为 Spring bean。
您可以使用 将LocalValidatorFactoryBean
默认验证器配置为 Spring bean,如以下示例所示:
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
@Configuration
public class AppConfig {
@Bean
public LocalValidatorFactoryBean validator() {
return new LocalValidatorFactoryBean();
}
}
前面示例中的基本配置触发 bean 验证以使用其默认引导机制进行初始化。
注入验证器
如果您更喜欢直接使用 Bean Validation API,您可以注入一个引用,如以下示例所示:
import javax.validation.Validator;
@Service
public class MyService {
@Autowired
private Validator validator;
}
配置一个DataBinder
从 Spring 3 开始,您可以DataBinder
使用Validator
. 配置完成后,您可以通过调用Validator
来调用binder.validate()
. 任何验证都会 Errors
自动添加到活页夹的BindingResult
.
以下示例显示了如何DataBinder
在绑定到目标对象后以编程方式调用验证逻辑:
Foo target = new Foo();
DataBinder binder = new DataBinder(target);
binder.setValidator(new FooValidator());
// bind to the target object
binder.bind(propertyValues);
// validate the target object
binder.validate();
// get BindingResult that includes any validation errors
BindingResult results = binder.getBindingResult();
Spring MVC 3 验证
请参阅Spring MVC 章节中的验证。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY