第1章 Spring的基本应用 1
1.1 Spring概述 2
1.1.1 什么是Spring 2
1.1.2 Spring框架的优点 2
1.1.3 Spring的体系结构 3
1 1.4 Spring的下载及目录结构 4
1.2 Spring的核心容器 6
1.2.1 BeanFactory 6
1.2.2 ApplicationContext 6
1.3 Spring的入门程序 8
1.4 依赖注入 11
1.4.1 依赖注入的概念 11
1.4.2 依赖注入的实现方式 12
1.5 本章小结 13
第2章 Spring中的Bean 15
2.1 Bean的配置 16
2.2 Bean的实例化 17
2 2.1 构造器实例化 17
2.2.2 静态工厂方式实例化 18
2.2.3 实例工厂方式实例化 20
2.3 Bean的作用域 21
2.3.1 作用域的种类 21
2 3 2 singleton作用域 22
2.3.3 prototype作用域 23
2.4 Bean的生命周期 23
2.5 Bean的装配方式 25
2.5.1 基于XML的装配 25
2.5.2 基于Annotation的装配 28
2.5.3 自动装配 32
2.6 本章小结 33
第3章 Spring AOP 34
3.1 Spring AOP简介 35
3.1.1 什么是AOP 35
3.1.2 AOP术语 36
3.2 动态代理 36
3.2.1 JDK动态代理 36
3.2.2 CGLIB代理 39
3.3 基于代理类的AOP实现 41
3.3.1 Spring的通知类型 42
3.3.2 ProxyFactoryBean 42
3.4 AspectJ开发 45
3.4.1 基于XML的声明式AspectJ 45
3.4.2 基于注解的声明式AspectJ 51
3.5 本章小结 55
第4章 Spring的数据库开发 56
4.1 Spring JDBC 57
4.1.1 Spring JdbcTemplate的解析 57
4.1.2 Spring JDBC的配置 57
4.2 Spring JdbcTemplate的常用方法 59
4.2.1 execute() 59
4.2.2 update() 63
4.2.3 query() 68
4.3 本章小结 71
第5章 Spring的事务管理 72
5.1 Spring事务管理概述 73
5.1.1 事务管理的核心接口 73
5.1.2 事务管理的方式 75
5.2 声明式事务管理 75
5.2.1 基于XML方式的声明式事务 75
5.2.2 基于Annotation方式的声明式事务 80
5.3 本章小结 83
第6章 初识MyBatis 84
6.1 什么是MyBatis 85
6.2 MyBatis的下载和使用 86
6.3 MyBatis的工作原理 87
6.4 MyBatis入门程序 88
6.4.1 查询客户 88
6.4.2 添加客户 96
6.4.3 更新客户 97
6.4.4 删除客户 99
6.5 本章小结 100
第7章 MyBatis的核心配置 101
7.1 MyBatis的核心对象 102
7.1.1 SqlSessionFactory 102
7.1.2 SqlSession 102
7.2 配置文件 105
7.2.1 主要元素 105
7.2.2 <properties>元素 106
7.2.3 <settings>元素 106
7.2.4 <typeAliases>元素 108
7.2.5 <typeHandler>元素 109
7.2.6 <objectFactory>元素 110
7.2.7 <plugins>元素 111
7.2.8 <environments>元素 111
7.2.9 <mappers>元素 113
7.3 映射文件 114
7.3.1 主要元素 114
7.3.2 <select>元素 115
7.3.3 <insert>元素 115
7.3.4 <update>元素和<delete>元素 117
7.3.5 <sql>元素 118
7.3.6 <resultMap>元素 119
7.4 本章小结 122
第8章 动态SQL 123
8.1 动态SQL中的元素 124
8.2 <if>元素 124
8.3 <choose>、<when>、<otherwise>元素 126
8.4 <where>、<trim>元素 129
8.5 <set>元素 130
8.6 <foreach>元素 132
8.7 <bind>元素 134
8.8 本章小结 135
第9章 MyBatis的关联映射 137
9.1 关联关系概述 138
9.2 一对一 139
9.3 一对多 146
9.4 多对多 151
9.5 本章小结 155
第10章 MyBatis与Spring的整合 157
10.1 整合环境搭建 158
10.1.1 准备所需JAR包 158
10.1.2 编写配置文件 159
10.2 传统DAO方式的开发整合 161
10.3 Mapper接口方式的开发整合 165
10.3.1 基于MapperFactoryBean的整合 165
10.3.2 基于MapperScannerConfigurer的整合 167
10.4 测试事务 168
10.5 本章小结 171
第11章 Spring MVC入门 172
11.1 Spring MVC概述 173
11.2 第一个Spring MVC应用 173
11.3 Spring MVC的工作流程 177
11.4 本章小结 178
第12章 Spring MVC的核心类和注解 179
12.1 DispatcherServlet 180
12.2 Controller注解类型 180
12.3 RequestMapping注解类型 181
12.3.1 @RequestMapping注解的使用 181
12.3.2 @RequestMapping注解的属性 182
12.3.3 组合注解 183
12.3.4 请求处理方法的参数类型和返回类型 184
12.4 ViewResolver(视图解析器) 186
12.5 应用案例——基于注解的Spring MVC应用 186
12.6 本章小结 188
第13章 数据绑定 190
13.1 数据绑定介绍 191
13.2 简单数据绑定 192
13.2.1 绑定默认数据类型 192
13.2.2 绑定简单数据类型 194
13.2.3 绑定POJO类型 195
13.2.4 绑定包装POJO 198
13.2.5 自定义数据绑定 201
13.3 复杂数据绑定 205
13.3.1 绑定数组 205
13.3.2 绑定集合 207
13.4 本章小结 210
第14章 JSON数据交互和RESTful支持 211
14.1 JSON数据交互 212
14.1.1 JSON概述 212
14.1.2 JSON数据转换 213
14.2 RESTful支持 221
14.2.1 什么是RESTful 221
14.2.2 应用案例——用户信息查询 221
14.3 本章小结 224
第15章 拦截器 225
15.1 拦截器概述 226
15.1.1 拦截器的定义 226
15.1.2 拦截器的配置 227
15.2 拦截器的执行流程 227
15.2.1 单个拦截器的执行流程 227
15.2.2 多个拦截器的执行流程 230
15.3 应用案例——实现用户登录权限验证 233
15.4 本章小结 238
第16章 文件上传和下载 240
16.1 文件上传 241
16.1.1 文件上传概述 241
16.1.2 应用案例——文件上传 243
16.2 文件下载 247
16.2.1 实现文件下载 247
16.2.2 中文名称的文件下载 249
16.3 本章小结 251
第17章 SSM框架整合 252
17.1 整合环境搭建 253
17.1.1 整合思路 253
17.1.2 准备所需JAR包 253
17.1.3 编写配置文件 254
17.2 整合应用测试 258
17.3 本章小结 262
第18章 BOOT客户管理系统 263
18.1 系统概述 264
18.1.1 系统功能介绍 264
18.1.2 系统架构设计 264
18.1.3 文件组织结构 265
18.1.4 系统开发及运行环境 266
18.2 数据库设计 266
18.3 系统环境搭建 267
18.3.1 准备所需JAR包 267
18.3.2 准备数据库资源 269
18.3.3 准备项目环境 269
18.4 用户登录模块 274
18.4.1 用户登录 274
18.4.2 实现登录验证 281
18.4.3 退出登录 284
18.5 客户管理模块 286
18.5.1 查询客户 286
18.5.2 添加客户 307
18.5.3 修改客户 315
18.5.4 删除客户 322
18.6 本章小结 325