...小于 1 分钟
Mybatis 整体框架如下:
接口层
MyBatis 和数据库的交互有两种方式:
-
使用传统的 MyBatis 提供的 API;
-
使用 Mapper 接口;
使用传统的 MyBatis 提供的 API
这是传统的传递 Statement Id 和查询参数给 SqlSession 对象,使用 SqlSession 对象完成和数据库的交互;MyBatis 提供了非常方便和简单的 API,供用户实现对数据库的增删改查数据操作,以及对数据库连接信息和 MyBatis 自身配置信息的维护操作。
...大约 5 分钟
流程简解
/src/main/resources/mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- 根标签 -->
<configuration>
<properties>
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url"
value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8&useSSL=false&autoReconnect=true"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</properties>
<!-- 环境,可以配置多个,default:指定采用哪个环境 -->
<environments default="test">
<environment id="test">
<!-- 事务管理器,JDBC类型的事务管理器 -->
<transactionManager type="JDBC"/>
<!-- 数据源,池类型的数据源 -->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/> <!-- 配置了properties,所以可以直接引用 -->
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="TeacherMapper.xml"/>
</mappers>
</configuration>
...大约 2 分钟
...小于 1 分钟
...小于 1 分钟
...小于 1 分钟
下载代码
git clone https://github.com/spring-projects/spring-framework.git
修改配置
- 注释掉
settings.gradle
中的include "spring-aspects"
...大约 1 分钟
Spring 整体架构
...小于 1 分钟
包详解
transaction
包
背景知识
- 工厂模式
讲解
这里并没有特别需要说的东西,只是基础的事务管理。但是这里很好的实现了transaction
和datasource
包的隔离,transaction
通过datasource
抽象出来的接口实现了业务隔离,事务管理器可以通过配置文件选择对应的数据源进行管理。
...大约 6 分钟
Spring 初始化流程
spring 的初始化本质为 ApplicationContext 对象的构建,这里通过注解进行构建 AnnotationConfigApplicationContext 。构建的主要大的步骤为:
- 调用无参构造方法
- 注册类
- 刷新
整个过程极为重要的为刷新,而且后续也都在讲述 刷新的步骤。
以下是 ApplicationContext 对象构建的流程图:
...大约 12 分钟