1

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

Boot Starter Web - Jackson 序列化

只需添加jackson-datatype-jsr310依赖项。

但这真的有必要吗?如果是这样,为什么它不包含在标准捆绑包中?

引导启动数据 - 休眠持久性

这就是棘手的地方。我对此有点挣扎,可能是因为我使用的是 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 标识为 Bytestream

一切都按预期工作,但就当前(Spring Boot 1.5.2)开发状态而言,我做得还好吗,有什么首选的方法吗?

提前致谢

4

1 回答 1

0

关于您的第一个问题: jsr310 依赖项在spring-boot-autoconfigure/pom.xml中被声明为可选,这意味着它默认被排除在外,除非您在 projet pom.xml 中声明依赖项。

我可以给你一个实际的例子来证明它是可选的。几周前,我将一个 Spring Boot 项目从 Java 7 迁移到 Java 8。这个项目使用Joda-Time,依赖于jackson-datatype-joda API 来管理时间数据。我的项目开箱即用,无需事先迁移到新的 java.time (jsr310) API。之后我切换到 java.time API 并用 jackson-datatype-jsr310 替换了 jackson-datatype-joda 依赖项。但与此同时,我能够处理一些紧迫的问题,而不是非必要的 - 尽管推荐 - 更改 API。

于 2017-03-08T13:32:09.660 回答