Spring Boot数据访问之数据源自动配置

  Spring Boot提供自动配置的数据访问,首先体验下,Spring Boot使用2.5.5版本:

  1)导入坐标:

    

     2.5.25版本支持8.0.26mysql数据库驱动。spring-boot-starter-data-jdbc也可以换成spring-boot-starter-jdbc,spring-boot-starter-data-jdbc的底层就是spring-boot-starter-jdbc。

  2)数据库源链接配置:

    

  3)测试案例:

    

  4)测试结果:

    

  通过测试案例可知:Spring Boot默认自动配置了com.zaxxer.hikari.HikariDataSource的数据源,通过该数据源获得mysql数据库链接。这个数据源是如何自动配置的?Spring Boot是否还提供其他可自动配置数据源?使用者可以自定义数据源么?

   对于Spring Boot自动配置的原理(SPI)Spring Boot自动配置原理 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)之前已经有所涉及,依据这个进行分析:

    

  看看DataSourceAutoConfiguration自动配置类URL图:

     

  通过静态内部类PooledDataSourceConfiguration相关注解可知,在缺省数据源池时,默认导入Spring Boot提供的数据源:HikariCP,Commons DBCP2,Tomcat JDBC Connection Pool

     

   如果不缺省,开发者配置参数:spring.datasource.type:

    

  至于为什么自动配置默认的是com.zaxxer.hikari.HikariDataSource?

    

 

posted on 2021-11-22 13:58  池塘里洗澡的鸭子  阅读(463)  评论(0编辑  收藏  举报