spring 切换到jakarta时是否继续遵循javax.validation.constraints.* 注解?

thtygnil  于 2023-01-04  发布在  Spring
关注(0)|答案(1)|浏览(750)

我们正在迁移到春 Boot 3,并与之,雅加达ee。
我关注了https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide#jakarta-ee,但我不确定如何处理以下问题:

  • 在切换到jakarta时,是否有办法继续遵守javax.validation.constraints.* 注解?

我们的使用案例:

  • 我们共享了Pojo库,它描述了客户端和服务器之间共享的对象。2例如,REST接口之间的公共表示,或者通过Kafka以JSON形式发送的事件模型
  • 事件模型描述了一些保证,例如“这个字段是可空的,这个字段是非空的”等等,并且具有例如X1 M0 N1 X注解
  • 客户端通常不仅使用这些Pojo来进行反确认,而且可能依赖于确认方面,例如在不遵守确认时拒绝有效负载

一个想迁移到jakarta-ee的客户怎么还能使用javax.validation.constraints.NotNull呢?

1mrurvl1

1mrurvl11#

javax将不能与 Boot 3一起工作,只需切换到jakarta.validation.constraints.NotNull,Spring 6(Boot 3)、Tomcat 10和Hibernate Validator的全部意义就是退役javax包并用jakarta替换它们。这些库的较新版本与javax包不兼容。
甚至从你在你的问题中分享的链接它说:* 如果您应该始终使用jakarta.servlet:jakarta.servlet-api而不是javax.servlet:javax.servlet-api。除了依赖关系坐标更改,Jakarta EE现在还使用jakarta包而不是javax。更新依赖关系后,您可能会发现项目中的**〉〉import语句需要更新〈〈**.*
在新版本的Hibernate Validator中,验证的工作方式是相同的,尝试保留已删除的注解版本是没有意义的,因为该版本不再存在或不兼容。

相关问题