Spring Data R2DBC 1.0 M2 和 Spring Boot starter 发布

发布 | Mark Paluch | 2019年5月15日 | ...

Spring Data R2DBC

我谨代表社区和所有贡献者,很高兴地宣布 Spring Data R2DBC 1.0 的第二个里程碑版本现已发布。它基于最近发布的 Moore M4 版本R2DBC 0.8.0.M8 版本。请注意,Spring Data R2DBC 的发布独立于 Moore 发布周期,它将包含在下一个发布周期 Neumann 中。

Spring Data R2DBC 此次发布修复了 32 个问题。最值得关注的功能包括:

  • 通过使用 jasync-sql 支持 MySQL。
  • 响应式事务管理器。
  • 用于 insert/update/delete 操作的 Fluent API。
  • 协程扩展。
  • 支持自定义转换。
  • 通过使用 Dialect 实例将命名参数转换为本地绑定标记。
  • 支持简单类型的单列投影。
  • 重构了包结构。

如果您使用 Maven,请在您的 pom.xml 中添加以下行,以便在您的项目中 Ya Spring Data R2DBC 1.0 M2:

<dependencies>
  <dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-r2dbc</artifactId>
    <version>1.0.0.M2</version>
  </dependency>
</dependencies>

<!-- R2DBC 0.8.0.M8 required -->
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>io.r2dbc</groupId>
      <artifactId>r2dbc-bom</artifactId>
      <version>Arabba-M8</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<repositories>
  <repository>
    <id>spring-milestone</id>
    <url>https://repo.spring.io/milestone</url>
  </repository>
</repositories>

Spring Boot 自动配置和 Actuator

在此次发布的同时,我还想宣布 Spring Boot 对 R2DBC 的支持的里程碑版本 0.1.0.M1。这是一个实验性的 Spring Boot 模块,提供了自动配置和 Actuator 支持。它被标记为实验性的,因为此支持最终可能会合并到未来的 Spring Boot 版本中。

以下是实验性 Spring Boot 对 R2DBC 支持提供的功能:

  • 基于 URL 的 R2DBC ConnectionFactory 配置(spring.r2dbc.url=rdbc:postgresql://<server>:<port>/<database>)。
  • 对 H2 的嵌入式数据库支持。当 r2dbc-h2spring-jdbc 可用时,H2 将配置为同时支持 R2DBC 和 JDBC 访问。
  • 连接池支持(spring.r2dbc.pool.initial-sizespring.r2dbc.pool.max-sizespring.r2dbc.validation-query)。
  • 通过公开响应式 ConnectionFactoryHealthIndicator 来支持 Actuator。
  • R2dbcConnectionManager 的配置,启用响应式 @Transactional
  • TransactionalOperator Bean 的配置。
  • 通过公开 R2dbc Bean 来配置 r2dbc-client
<dependencies>
  <dependency>
    <groupId>org.springframework.boot.experimental</groupId>
    <artifactId>spring-boot-starter-data-r2dbc</artifactId>
    <version>0.1.0.M1</version>
  </dependency>

  <dependency>
    <groupId>org.springframework.boot.experimental</groupId>
    <artifactId>spring-boot-actuator-autoconfigure-r2dbc</artifactId>
    <version>0.1.0.M1</version>
  </dependency>
  
  <dependency>
    <groupId>io.r2dbc</groupId>
    <artifactId>r2dbc-postgresql</artifactId>
    <version>0.8.0.M8</version>
    <scope>runtime</scope>
  </dependency>
  
  <!-- Enable for connection pooling -->
  <dependency>
    <groupId>io.r2dbc</groupId>
    <artifactId>r2dbc-pool</artifactId>
    <scope>runtime</scope>
  </dependency>
</dependencies>

<repositories>
  <repository>
    <id>spring-milestone</id>
    <url>https://repo.spring.io/milestone</url>
  </repository>
</repositories>

您可以从 仓库 README 和我们的 文档 开始。另外,请务必查看我们的 Spring WebFlux/R2DBC/H2 示例

下一步

R2DBC 仍在不断发展。我们预计在十月左右会有一系列 R2DBC 的新版本发布,以便我们能够将其集成到 Spring Data R2DBC 中,并最终发布一个发布候选版本。我们的待办事项列表中有一系列关于方言支持的改进,以提供更灵活的扩展模型,我们期待能够实现查询拦截,在 SQL 语句发送到数据库之前对其进行绑定和修改。

最后,这里是变更日志、GitHub 仓库和文档的链接:

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有