学习目标
- 掌握Bean Validation规范的使用
- 学会使用常用的验证注解
- 理解分组验证和自定义验证器
- 处理验证异常和错误信息
- 实现复杂的业务验证逻辑
内容概览
验证注解
常用验证注解的使用方法
分组验证
不同场景下的验证规则
自定义验证
创建自定义验证器
异常处理
验证异常的统一处理
实战案例
用户管理系统数据验证
构建一个完整的用户管理系统,包括用户注册、信息更新、密码修改等功能的数据验证,演示各种验证场景和自定义验证规则。
项目结构
src/main/java/com/example/validation/
├── ValidationApplication.java # 主启动类
├── model/
│ ├── User.java # 用户实体
│ ├── UserRegistration.java # 用户注册DTO
│ └── UserUpdate.java # 用户更新DTO
├── validator/
│ ├── PhoneValidator.java # 手机号验证器
│ ├── PasswordValidator.java # 密码验证器
│ └── UniqueEmailValidator.java # 邮箱唯一性验证器
├── annotation/
│ ├── Phone.java # 手机号验证注解
│ ├── Password.java # 密码验证注解
│ └── UniqueEmail.java # 邮箱唯一性注解
├── controller/
│ └── UserController.java # 用户控制器
└── exception/
└── ValidationExceptionHandler.java # 验证异常处理器
重点知识
基础验证注解
- @NotNull、@NotEmpty、@NotBlank
- @Size、@Min、@Max
- @Pattern、@Email
- @Valid、@Validated
分组验证
- 验证组接口定义
- @Validated注解使用
- 组合验证规则
- 继承验证组
自定义验证器
- ConstraintValidator接口
- 自定义验证注解
- 验证器实现类
- 复杂业务验证
异常处理
- MethodArgumentNotValidException
- ConstraintViolationException
- @ExceptionHandler
- 错误信息国际化
预计学时
理论学习:
1.5小时
实践操作:
2小时
总计:
3.5小时