“Spring Boot 2 数据库场景的自动配置分析与整合测试”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第45行: 第45行:
  
 
* DataSourceAutoConfiguration:数据源的自动配置
 
* DataSourceAutoConfiguration:数据源的自动配置
* DataSourceTransactionManagerAutoConfiguration:事务管理器的自动配置
+
**修改数据源相关的配置:spring.datasource
* JdbcTemplateAutoConfiguration:JdbcTemplate 的自动配置,可以用来对数据库进行 CRUD
+
*DataSourceTransactionManagerAutoConfiguration:事务管理器的自动配置
* JndiDataSourceAutoConfiguration:JNDI 的自动配置
+
*JdbcTemplateAutoConfiguration:JdbcTemplate 的自动配置,可以用来对数据库进行 CRUD
* XADataSourceAutoConfiguration:分布式事务的相关配置
+
*JndiDataSourceAutoConfiguration:JNDI 的自动配置
 +
*XADataSourceAutoConfiguration:分布式事务的相关配置

2023年1月30日 (一) 09:22的版本

https://www.bilibili.com/video/BV19K4y1L7MT?p=60

数据源的自动配置

导入JDBC场景

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
Spring-boot-starter-data-jdbc依赖包含 1.png

为什么没有数据库驱动?

为什么导入 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:数据源的自动配置
    • 修改数据源相关的配置:spring.datasource
  • DataSourceTransactionManagerAutoConfiguration:事务管理器的自动配置
  • JdbcTemplateAutoConfiguration:JdbcTemplate 的自动配置,可以用来对数据库进行 CRUD
  • JndiDataSourceAutoConfiguration:JNDI 的自动配置
  • XADataSourceAutoConfiguration:分布式事务的相关配置