spring boot 2.x不需要配置驱动(也可以配置)的原因源码解析

  • DataSourceBuilder
 private void maybeGetDriverClassName() {
        if (!this.properties.containsKey("driverClassName") && this.properties.containsKey("url")) {
            String url = (String)this.properties.get("url");
            String driverClass = DatabaseDriver.fromJdbcUrl(url).getDriverClassName();
            this.properties.put("driverClassName", driverClass);
        }
    }
  • properties是一个map,里面存入了关于dataSource 的属性值

在这段代码中,可以看到 如果配置了URL 而没有配置 driver-class-name 会自动查找最可能的驱动类是什么?配置文件如下 即可。

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/jdbc?serverTimezone=GMT%2B8&useSSL=false
    username: 'root'
    password: '!QAZ2wsx'
#    driver-class-name: com.mysql.cj.jdbc.Driver
发布了81 篇原创文章 · 获赞 50 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/l23456789o/article/details/105219005
今日推荐