Spring Boot 2 数据库场景的自动配置分析与整合测试
https://www.bilibili.com/video/BV19K4y1L7MT?p=60
数据源的自动配置
导入JDBC场景
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
为什么没有数据库驱动?
为什么导入 JDBC 场景,官方不导入驱动?官方不知道我们接下来要操作什么数据库。
<mysql.version>8.0.22</mysql.version>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
如果想要修改版本 直接依赖引入具体版本(Maven 的就近原则)
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
或者重新声明版本(Maven 的属性的就近优先原则)
<properties>
<mysql.version>5.1.49</mysql.version>
</properties>
分析自动配置
自动配置的类
- DataSourceAutoConfiguration:数据源的自动配置
- DataSourceTransactionManagerAutoConfiguration:事务管理器的自动配置