它是否适用于仅使用 application.yml 而不编写 java 代码来配置多个数据源



我有一个 Spring 引导应用程序,它将与两个数据库(Cassandra 和 DB2)通信。我将在此应用程序中使用弹簧数据。是否适用于仅在application.yml文件中配置数据源,而无需编写java代码。如果是这样,如何指定每种方言?

注意:此应用程序将 spring-data-cassandra 用于 cassandra 数据库,使用 spring-data-jpa 表示 db2 数据库。

例如:

spring:
  datasource:
    url: jdbc:db2://myRemoteHost:portNumber/MyDBName
    username: username
    password: password
    driver-class-name: com.ibm.db2.jcc.DB2Driver
  data:
    cassandra:
      cluster-name: cluster name
      keyspace-name: keyspace name
      port: myPortNumber
      contact-points: host1.com
      username: username
      password: password

注意:此问题与 Spring 引导配置和使用两个数据源 不同。我的问题是知道它是否仅适用于在application.yml文件中配置数据源而无需手动操作,而另一个问题解释了如何手动执行此操作。

我发现它适用于上述情况,因为应用程序使用 spring-data-cassandra 用于 cassandra 数据库,并使用 spring-data-jpa 连接到 db2 数据库。

Spring boot足够聪明,可以找出spring-data-jpa使用哪些存储库和实体,以及spring-data-cassandra使用哪些存储库和实体。

只要你对每个数据库使用不同的 spring 数据类型,它就适用。

最新更新