【问题标题】:spring boot source code for datasource creation用于创建数据源的spring boot源码
【发布时间】:2019-08-23 20:35:38
【问题描述】:

我正在尝试通过 spring-boot 源来获得对其内部工作的更多信心。

例如:
当您使用以下属性时:

spring.datasource.url=jdbc:h2:./data/test
spring.datasource.username=sa
spring.datasource.password=as

spring boot 将尝试通过解析spring.datasource.url 属性来猜测您需要的jdbc 驱动程序,并在类路径中查找所需的驱动程序。

我们可以通过阅读 Spring 文档来推断这种行为:

您通常不需要指定驱动程序类名称,因为 Spring 对于大多数数据库,boot 可以从 url 推导出来。

要创建一个池化数据源,我们需要能够验证 一个有效的驱动程序类可用,所以我们之前检查 做任何事情。换句话说,如果你设置 spring.datasource.driver-class-name=com.mysql.jdbc.Driver,那么那个 类必须是可加载的。

我认为可以在here 附近找到负责该问题的代码。

但我好像找不到。

你能帮我解释一下吗?

【问题讨论】:

    标签: java spring spring-boot jdbc


    【解决方案1】:

    JDBC 驱动程序类名由DatabaseDriver enum 中的常量控制。了解如何使用此枚举来了解数据源 URL 属性的解析位置,例如在DataSourceConfiguration 你会发现:

    DatabaseDriver databaseDriver = DatabaseDriver
                    .fromJdbcUrl(properties.determineUrl());
    

    【讨论】:

      猜你喜欢
      • 2014-04-10
      • 2016-08-09
      • 2019-12-02
      • 2017-04-17
      • 2017-04-12
      • 1970-01-01
      • 2018-10-13
      • 2017-05-15
      相关资源
      最近更新 更多