validation-api和spring-boot-starter-validation的区别
时间: 2023-07-26 16:04:12 浏览: 245
`validation-api` 是 Java Bean Validation (JSR 380) 的标准 API,它提供了一套用于对象校验的 API 规范,可以通过它来定义和执行校验规则。`validation-api` 本身并没有提供具体的实现,只是一组接口和注解的定义,因此需要结合具体的实现才能使用。
而 `spring-boot-starter-validation` 则是 Spring Boot 对 `validation-api` 的集成实现,它包含了 `validation-api` 的依赖以及一个默认的 JSR 380 实现 - Hibernate Validator。通过使用`spring-boot-starter-validation`,可以使用 JSR 380 定义的所有校验注解,同时也能使用 Hibernate Validator 提供的扩展注解。
使用 `spring-boot-starter-validation` 时,只需要在 Spring Boot 项目中添加该依赖,不需要进行其他配置,Spring Boot 会自动配置 JSR 380 的校验器,同时也支持自定义校验器。在控制器方法中使用 `@Valid` 注解,可以触发 JSR 380 的校验机制,校验失败时会抛出 ConstraintViolationException 异常。
总之,`validation-api` 是 JSR 380 规范的标准 API,而 `spring-boot-starter-validation` 则是 Spring Boot 对该规范的集成实现,提供了更方便的使用方式。
阅读全文