-
参数校验背景
- 通常在Spring Boot中,参数校验是在Controller控制层完成的。
- 文章探讨了在非Controller控制层进行参数校验的方法。
-
Validator接口
- Spring提供了JSR-303的一个变种
@Validated。 Validator接口定义了用于执行验证的方法,主要方法包括:validate(T object, Class<?>... groups):验证对象是否符合约束条件。validateProperty(T object, String propertyName, Class<?>... groups):验证对象的特定属性是否符合约束条件。validateValue(Class<T> beanType, String propertyName, Object value, Class<?>... groups):验证给定属性值是否符合约束条件,无需创建对象实例。
- Spring提供了JSR-303的一个变种
-
Validator接口的使用
- 依赖Spring容器:
- 通过Spring容器注入
Validator接口的实现类。 - 示例代码展示了如何在Spring Boot中使用
Validator进行参数校验。
- 通过Spring容器注入
- 不依赖Spring容器:
- JSR 303是一种规范,不依赖Spring容器,可以在任何Java项目中使用。
- 通过
ValidatorFactory获取Validator接口的实现。 - 示例代码展示了如何在非Spring项目中使用
Validator进行参数校验。
- 依赖Spring容器:
-
示例代码
- UserBean类:
@Data public class UserBean { @NotBlank private String username; @Min(value = 18) private Integer age; } - Spring Boot中的Validator使用:
@SpringBootTest class SpringbootPracticeApplicationTests { @Resource private Validator validator; @Test public void testValidator(
- UserBean类:
12-30
503
503

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



