Spring Boot 在Sping Boot 中使用Java 8日期/时间API

zlhcx6iw  于 2023-03-12  发布在  Spring
关注(0)|答案(1)|浏览(166)

我正在一个全新的Sping Boot (1.5)应用程序上使用Java 8 Date/Time API(JSR-310)。在第一个公开发行版之前,我们可以随时了解每个依赖项,这就是为什么我想澄清JSR-310在整个Spring Boot堆栈上的处理状态。

Boot 程序Web -Jackson序列化

只需添加jackson-datatype-jsr310依赖项。
但这真的有必要吗?如果有,为什么这不包括在标准捆绑包中?

Boot 程序数据-休眠持久性

这就是它变得棘手的地方。我在这方面有点挣扎,也许是因为我使用的是PostgreSQL。
似乎Java 8兼容性已添加到JDBC版本4.2中,这意味着:

  • 使用JDBC 4.2驱动程序(对于PostgreSQL,当前版本为9.4.1212)
  • 覆盖Hibernate版本〉= 5.2.6,这带来了对JDBC 4.2的支持

相关:PSQLException - spring boot 1.4.1 - spring data jpa - offsetdatetime/localdatetime identified as Bytestream
一切都按预期运行,但就目前( Boot )的开发状态而言,我做得还可以吗?有没有更好的方法?
先谢了

f0brbegy

f0brbegy1#

关于你的第一个问题:jsr 310依赖项在spring-boot-autoconfigure/pom.xml中声明为optional,这意味着默认情况下排除了它,除非您在projetpom.xml中声明该依赖项。
我可以给予你一个实际的例子来证明它是可选的。几周前,我把一个Sping Boot 项目从Java 7迁移到Java 8。这个项目使用Joda-Time,依赖于jackson-datatype-joda API来管理时态数据。我的项目是开箱即用的。而不需要迁移到新的java.time之后我切换到java.time API,并将jackson-datatype-jsr 310依赖项替换为jackson-datatype-joda依赖项。但与此同时,我能够处理一些紧急问题,而不是非必需的(尽管是推荐的)API更改。

相关问题