第1章 Spring框架入门 1
1.1 Spring发展历程 2
1.2 Spring的优势 4
1.3 Spring核心概念 4
1.3.1 Spring容器 4
1.3.2 Bean 5
1.3.3 控制反转 5
1.3.4 依赖注入 5
1.4 Spring体系结构 6
1.4.1 Core Container 6
1.4.2 Data Access/Integration 7
1.4.3 Web 7
1.4.4 AOP与Aspects 7
1.4.5 Test 8
1.4.6 Instrumentation 8
1.4.7 Messaging 8
1.4.8 小结 8
1.5 传统Web开发模式回顾 8
1.5.1 持久层代码 8
1.5.2 业务层代码 9
1.5.3 测试类代码 9
1.5.4 案例小结 10
1.6 Spring入门案例 10
1.6.1 创建项目 10
1.6.2 创建模块 13
1.6.3 添加依赖 15
1.6.4 核心代码 16
1.6.5 案例小结 19
1.7 本章总结 19
第2章 Bean的管理与配置 21
2.1 Spring容器 22
2.1.1 BeanFactory接口 22
2.1.2 ApplicationContext接口 23
2.1.3 获取Bean的常用方法 23
2.2 Bean的实例化 24
2.2.1 构造函数实例化Bean 24
2.2.2 静态工厂实例化Bean 25
2.2.3 实例工厂实例化Bean 27
2.2.4 FactoryBean实例化Bean 28
2.3 Bean的装配概述 30
2.4 基于XML装配Bean 30
2.4.1 常用配置 30
2.4.2 设值注入 33
2.4.3 构造注入 41
2.4.4 自动装配 45
2.5 基于注解装配Bean 49
2.5.1 常用注解 49
2.5.2 组件扫描 55
2.6 基于配置类装配Bean 58
2.6.1 @Configuration注解 58
2.6.2 @ComponentScan注解 58
2.6.3 @PropertySource注解 58
2.6.4 @Bean注解 58
2.6.5 @Import注解 61
2.6.6 @SpringJUnitConfig注解 62
2.7 Bean的生命周期 63
2.8 多线程环境下的作用域 65
2.9 自定义Spring容器 66
2.9.1 定义注解 66
2.9.2 使用注解 67
2.9.3 定义容器 67
2.9.4 实现容器 68
2.9.5 验证测试 71
2.10 本章总结 71
第3章 Spring面向切面编程 72
3.1 面向切面编程特征 73
3.2 代理模式实现策略 73
3.2.1 静态代理 76
3.2.2 基于JDK的动态代理 78
3.2.3 基于CGLIB的动态代理 80
3.3 Spring AOP术语 82
3.3.1 连接点 82
3.3.2 切入点 82
3.3.3 通知 84
3.3.4 切面 84
3.3.5 织入 85
3.4 Spring AOP典型应用 85
3.5 基于XML实现Spring AOP 87
3.6 基于注解实现Spring AOP 92
3.7 本章总结 94
第4章 Spring数据库编程 95
4.1 JdbcTemplate基本操作 96
4.2 JdbcTemplate应用案例 96
4.3 Spring事务管理概述 100
4.3.1 数据库事务主要特征 100
4.3.2 数据库事务基本操作 100
4.3.3 Spring事务管理接口 101
4.3.4 Spring事务管理方式 103
4.4 基于XML配置的声明式事务管理 104
4.4.1 XML配置事务管理主要步骤 104
4.4.2 XML配置事务管理应用案例 106
4.5 基于注解配置的声明式事务管理 111
4.5.1 注解配置事务管理核心注解 111
4.5.2 注解配置事务管理应用案例 112
4.6 Spring事务传播行为 114
4.7 Spring整合MyBatis 117
4.8 本章总结 127
第5章 Spring MVC框架入门 128
5.1 MVC模式 129
5.2 Spring MVC概述 129
5.3 Spring MVC开发入门 130
5.3.1 基于XML配置的Spring MVC入门案例 130
5.3.2 基于注解配置的Spring MVC入门案例 133
5.4 Spring MVC核心组件 136
5.4.1 DispatcherServlet 136
5.4.2 Handler 136
5.4.3 HandlerMapping 137
5.4.4 HandlerAdapter 139
5.4.5 ModelAndView 139
5.4.6 ViewResolver 139
5.4.7 View 140
5.5 Spring MVC工作原理 140
5.6 本章总结 141
第6章 Spring MVC请求映射 142
6.1 @RequestMapping注解 143
6.1.1 value 143
6.1.2 method 144
6.1.3 headers 145
6.1.4 params 145
6.1.5 consumes 145
6.1.6 produces 145
6.2 组合注解 145
6.3 数据绑定 146
6.3.1 绑定请求参数 146
6.3.2 绑定请求体数据 149
6.3.3 绑定请求头数据 150
6.3.4 绑定Cookie数据 150
6.4 编码过滤器 150
6.5 自定义类型转换器 151
6.6 本章总结 153
第7章 Spring MVC请求响应 154
7.1 响应视图 155
7.2 响应数据 155
7.2.1 响应字符串 156
7.2.2 响应JSON数据 156
7.3 统一返回结果 158
7.4 重定向与请求转发 159
7.5 数据共享 160
7.5.1 Request域数据共享 160
7.5.2 Session域数据共享 161
7.5.3 Application域数据共享 162
7.6 本章总结 163
第8章 Spring MVC RESTful编程 164
8.1 REST概述 165
8.2 遵循路径设计原则 165
8.3 请求路径变量 166
8.4 HiddenHttpMethodFilter 166
8.5 RESTful编程开发案例 167
8.5.1 系统接口设计 168
8.5.2 前端页面开发 168
8.5.3 后端控制器开发 169
8.6 本章总结 171
第9章 Spring MVC开发进阶 172
9.1 文件上传 173
9.1.1 配置文件解析器 173
9.1.2 配置文件上传参数 173
9.1.3 构建文件上传页面 174
9.1.4 处理上传文件 174
9.2 文件下载 176
9.3 统一异常处理 177
9.3.1 HandlerExceptionResolver 177
9.3.2 SimpleMappingExceptionResolver 178
9.3.3 自定义异常处理 178
9.3.4 声明式统一异常处理 179
9.3.5 异常分类处理策略 181
9.4 数据校验 182
9.4.1 声明式数据校验概述 183
9.4.2 声明式数据校验应用 184
9.5 访问静态资源 186
9.6 跨资源共享 187
9.6.1 @CrossOrigin注解 187
9.6.2 addCorsMappings方法 188
9.7 Web组件 189
9.7.1 监听器 189
9.7.2 过滤器 191
9.7.3 拦截器 191
9.7.4 小结 193
9.8 本章总结 194
第10章 SSM框架整合 195
10.1 容器关系 196
10.1.1 Root WebApplicationContext 196
10.1.2 Servlet WebApplicationContext 196
10.1.3 容器关系总结 197
10.2 SSM框架整合案例 198
10.2.1 框架整合前期工作 198
10.2.2 Spring框架整合持久层 203
10.2.3 Spring框架整合业务层 208
10.2.4 Spring框架整合表现层 212
10.2.5 应用程序初始化配置 218
10.2.6 项目后端接口测试 219
10.3 本章总结 220
第11章 大模型技术概览 221
11.1 大模型发展历程 222
11.2 大模型的特点 222
11.3 大模型分类 223
11.3.1 按应用领域分类 223
11.3.2 按训练方式分类 224
11.3.3 按功能特性分类 224
11.4 大模型发展现状 225
11.5 大模型基础知识 225
11.5.1 机器学习 225
11.5.2 深度学习 225
11.5.3 神经网络 226
11.5.4 Transformer模型 227
11.6 大模型的构建与部署 229
11.6.1 数据采集 229
11.6.2 数据清洗 229
11.6.3 数据预处理 229
11.6.4 数据标注 230
11.6.5 数据划分 230
11.6.6 模型设计 230
11.6.7 模型初始化 230
11.6.8 模型训练 231
11.6.9 模型验证 231
11.6.10 模型保存 231
11.6.11 模型部署 231
11.7 大模型API服务 232
11.8 本章总结 232
第12章 Spring AI开发入门 233
12.1 Spring AI概述 234
12.2 Spring AI核心概念 235
12.2.1 模型 235
12.2.2 提示词 235
12.2.3 嵌入 235
12.2.4 词元 236
12.2.5 结构化输出 236
12.2.6 数据引入 236
12.2.7 检索增强生成 237
12.2.8 响应评估 237
12.3 Spring AI入门案例 238
12.3.1 创建项目 238
12.3.2 配置API key 240
12.3.3 编写控制器 240
12.3.4 案例小结 240
12.4 本章总结 241
第13章 Spring AI核心技术 242
13.1 ChatModel 243
13.2 ChatClient 244
13.3 Prompt Templates 245
13.4 ChatOptions 246
13.5 Message 247
13.6 流式对话 248
13.7 文生图 248
13.8 文本转语音 249
13.9 语音转文本 250
13.10 本章总结 251
第14章 Spring AI开发进阶 252
14.1 多模态 253
14.2 结构化输出 254
14.3 提示词填充 256
14.4 嵌入模型 258
14.5 向量数据库 259
14.6 函数调用 262
14.7 增强器 265
14.8 对话记忆 267
14.9 内容审查 269
14.10 本章总结 271
第15章 Spring AI项目开发实战 272
15.1 芯有灵犀智能对话系统 273
15.1.1 项目展示 273
15.1.2 技术架构 273
15.1.3 核心功能 274
15.1.4 开发环境 274
15.1.5 项目搭建 274
15.1.6 后端开发 276
15.1.7 前端开发 278
15.1.8 项目小结 280
15.2 企业金融数据分析平台 280
15.2.1 项目展示 280
15.2.2 技术架构 281
15.2.3 核心技术 282
15.2.4 开发环境 282
15.2.5 项目搭建 282
15.2.6 后端开发 284
15.2.7 前端开发 289
15.2.8 项目小结 291
15.3 芯领神会酒店智能助手 291
15.3.1 项目展示 292
15.3.2 技术架构 292
15.3.3 核心技术 293
15.3.4 开发环境 294
15.3.5 项目搭建 294
15.3.6 后端开发 299
15.3.7 前端开发 302
15.3.8 项目小结 304
15.4 本章总结 304