第1章 概述 1
1.1 Java EE开发技术 2
1.1.1 Java EE的三层架构 2
1.1.2 MVC框架 2
1.1.3 数据访问层框架 3
1.1.4 视图技术 3
1.2 JDK的下载与安装 3
1.3 安装与配置Maven 4
1.3.1 关于Maven 4
1.3.2 下载与安装Maven 4
1.3.3 配置远程仓库 5
1.4 安装Eclipse 5
1.4.1 Eclipse版本 5
1.4.2 在Eclipse中配置Maven 5
1.4.3 获取本书代码 6
1.5 本章小结 6
第2章 初试Spring Boot 7
2.1 Spring Boot介绍 8
2.1.1 Spring Boot简介 8
2.1.2 starter模块 8
2.2 构建第一个Spring Boot程序 9
2.2.1 新建Maven项目 9
2.2.2 编写启动类 10
2.2.3 编写控制器 11
2.2.4 开发环境的热部署 12
2.3 运行单元测试 12
2.3.1 测试Web服务 12
2.3.2 模拟Web测试 13
2.3.3 测试业务组件 13
2.3.4 模拟业务组件 14
2.4 发布与调用REST服务 15
2.4.1 REST 15
2.4.2 发布REST服务 15
2.4.3 使用RestTemplate调用服务 16
2.4.4 使用Feign调用服务 18
2.5 本章小结 19
第3章 Spring Boot配置 20
3.1 配置文件 21
3.1.1 默认配置文件 21
3.1.2 指定配置文件 22
3.1.3 yml文件 22
3.1.4 使用profile指定配置 23
3.2 Web配置 24
3.2.1 Servlet配置 24
3.2.2 Listener配置 25
3.2.3 Filter配置 26
3.2.4 构建可部署的war包 26
3.2.5 JSP配置 28
3.3 其他配置 30
3.3.1 服务器常用配置 30
3.3.2 响应压缩 30
3.3.3 SSL配置 32
3.3.4 使用其他服务器 32
3.3.5 服务器访问日志 33
3.3.6 banner配置 34
3.4 自定义配置 35
3.4.1 @Value注解 35
3.4.2 定义属性映射对象 36
3.4.3 使用配置 37
3.4.4 属性自动识别 38
3.5 本章小结 39
第4章 Spring Boot的注解 40
4.1 Spring的常用注解 41
4.1.1 bean定义 41
4.1.2 依赖注入 42
4.1.3 使用Primary注解 44
4.1.4 Scope注解 45
4.1.5 方法注入 46
4.1.6 AOP注解 47
4.1.7 ComponentScan注解 49
4.2 高级Spring注解 50
4.2.1 限定注解 50
4.2.2 自定义限定注解 51
4.2.3 自定义bean的生命周期 52
4.3 Spring MVC的常用注解 54
4.3.1 Controller注解 54
4.3.2 RequestMapping注解 55
4.3.3 PathVariable注解 56
4.3.4 MatrixVariable注解 56
4.3.5 RequestParam注解 57
4.3.6 文件上传 58
4.3.7 RestController注解 58
4.4 Spring Boot的条件注解 59
4.4.1 类条件注解 59
4.4.2 项目依赖问题 60
4.4.3 其他条件注解 61
4.4.4 自定义条件注解 61
4.4.5 Spring Boot的自动配置 62
4.5 本章小结 63
第5章 初试Thymeleaf 64
5.1 Thymeleaf 65
5.1.1 什么是Thymeleaf 65
5.1.2 支持的模板类型 65
5.1.3 HTML模板 65
5.1.4 XML模板 66
5.2 初试Thymeleaf API 66
5.2.1 处理HTML 66
5.2.2 更换模板解析器 67
5.2.3 处理资源文件 67
5.2.4 变量处理 68
5.2.5 遍历集合 69
5.2.6 设置前缀与后缀 69
5.3 在Servlet应用中整合Thymeleaf 70
5.3.1 建立项目 70
5.3.2 配置模板引擎 71
5.3.3 在Servlet中使用Thymeleaf 72
5.3.4 编写模板文件 73
5.4 在Struts2中整合Thymeleaf 74
5.4.1 建立与配置Struts2项目 74
5.4.2 配置Struts Action 75
5.4.3 整合Themeleaf 76
5.5 在Spring Boot中整合Thymeleaf 77
5.5.1 建立与配置项目 77
5.5.2 编写控制器与模板 78
5.5.3 静态资源 79
5.6 本章小结 79
第6章 Thymeleaf对象的使用 80
6.1 文本处理 81
6.1.1 外部文本输出 81
6.1.2 文本国际化 82
6.1.3 处理转义文本 83
6.1.4 读取变量 83
6.1.5 在文本信息中使用变量 84
6.1.6 其他读取变量的方式 84
6.1.7 链接表达式 85
6.2 基本对象 86
6.2.1 基本对象概述 86
6.2.2 #ctx对象 87
6.2.3 Web对象 87
6.2.4 内置变量 88
6.2.5 使用基本对象的注意事项 88
6.3 数字对象 89
6.3.1 整数格式化 89
6.3.2 小数格式化 90
6.3.3 货币格式化 91
6.3.4 百分比格式化 92
6.3.5 使用sequence方法 92
6.4 字符串对象 92
6.4.1 toString与length方法 93
6.4.2 非空判断与默认值处理 93
6.4.3 包含判断 94
6.4.4 截取与替换 94
6.4.5 追加与拼接 95
6.4.6 分割与连接 96
6.4.7 大小写转换 96
6.4.8 字符串编码与解码 97
6.4.9 其他处理 98
6.5 日期对象 98
6.5.1 格式化日期 98
6.5.2 获取日期字段 99
6.5.3 创建日期 100
6.6 数组与集合对象 101
6.6.1 数组 101
6.6.2 List与Set 101
6.6.3 Map 101
6.7 其他内置对象 102
6.7.1 messages对象 102
6.7.2 uris对象 102
6.7.3 aggregates对象 103
6.8 本章小结 103
第7章 Thymeleaf常用语法 104
7.1 表达式语法之运算符 105
7.1.1 表达式常量 105
7.1.2 字符串拼接 106
7.1.3 算术运算符 106
7.1.4 关系运算符 107
7.1.5 条件运算符 108
7.1.6 无操作符 108
7.2 表达式语法进阶 108
7.2.1 数据转换 108
7.2.2 自定义数据转换类 109
7.2.3 Spring Boot数据转换 110
7.2.4 表达式预处理 112
7.2.5 表达式调用工具方法 113
7.3 属性设置 114
7.3.1 使用th:attr 114
7.3.2 设置HTML节点属性 114
7.3.3 属性值拼接 115
7.3.4 HTML5属性支持 115
7.4 条件判断与数据迭代 116
7.4.1 条件判断 116
7.4.2 switch case语法 117
7.4.3 使用th:each属性 117
7.4.4 常见迭代类型 118
7.4.5 迭代状态对象 118
7.4.6 数据延迟加载 120
7.4.7 在Spring Boot中使用延迟加载 121
7.4.8 星号表达式 121
7.5 本章小结 122
第8章 深入Thymeleaf模板 123
8.1 模板片断 124
8.1.1 定义与引用模板片断 124
8.1.2 片断引用语法 125
8.1.3 选择器的基础语法 126
8.1.4 选择器的其他语法 128
8.1.5 insert、replace与include的区别 128
8.1.6 含有变量的片断引用 129
8.1.7 片断块引用 130
8.1.8 无操作符的使用 131
8.1.9 删除模板 132
8.1.10 基本表达式总结 134
8.2 模板与逻辑分离 134
8.2.1 逻辑分离例子 134
8.2.2 逻辑分离配置 136
8.2.3 关联节点的选择 137
8.3 模板注释 137
8.3.1 解析层注释 138
8.3.2 原型注释 139
8.4 内联语法 139
8.4.1 使用内联语法显示文本 139
8.4.2 在JavaScript中使用内联语法 140
8.4.3 在CSS中使用内联语法 140
8.4.4 内联语法注释 141
8.4.5 内联语法序列化 142
8.5 模板缓存 143
8.5.1 开启与配置缓存 143
8.5.2 缓存有效时间 145
8.6 本章小结 146
第9章 Thymeleaf原理与扩展 147
9.1 概念与接口介绍 148
9.1.1 方言 148
9.1.2 处理器 149
9.1.3 模板处理者 150
9.1.4 模板解析事件 150
9.1.5 节点与标签 151
9.2 深入Thymeleaf模板处理 151
9.2.1 策略模式 151
9.2.2 责任链模式 153
9.2.3 合并使用策略模式与责任链模式 156
9.2.4 模板处理过程 159
9.2.5 模板事件 161
9.3 处理器 161
9.3.1 预处理器 161
9.3.2 后处理器 163
9.3.3 一般处理器 164
9.3.4 处理器优先级 165
9.3.5 标签处理器 167
9.3.6 模型处理器 168
9.3.7 边界处理器 170
9.3.8 其他处理器 170
9.4 Thymeleaf扩展 171
9.4.1 自定义标签 171
9.4.2 自定义模板属性 173
9.4.3 自定义内置对象 175
9.4.4 自定义执行属性 176
9.5 本章小结 177
第10章 Spring Boot与Thymeleaf整合 178
10.1 在Spring Boot中配置Thymeleaf 179
10.1.1 模板引擎配置 179
10.1.2 Spring MVC视图解析器 181
10.1.3 Thymeleaf视图解析器 184
10.1.4 数据转换配置 186
10.1.5 模板国际化 186
10.2 表单处理 188
10.2.1 表单提交 188
10.2.2 使用th:field属性 189
10.2.3 HTML节点的id生成 190
10.2.4 实现label节点 192
10.2.5 在模板中处理checkbox与radio 193
10.2.6 表单提交处理checkbox与radio 195
10.3 表单验证 195
10.3.1 表单验证 195
10.3.2 修改信息文件 197
10.3.3 输出错误信息 197
10.4 片断的使用 198
10.4.1 引用片断 198
10.4.2 使用bean选择片断 199
10.4.3 在控制器中引用片断 201
10.5 自定义标签 201
10.5.1 方言与处理器 201
10.5.2 配置方言 203
10.6 本章小结 204
第11章 使用JavaScript库 205
11.1 使用jQuery 206
11.1.1 概述 206
11.1.2 选择器 206
11.1.3 事件 207
11.1.4 数据列表 208
11.1.5 AJAX调用GET方法 209
11.1.6 AJAX调用POST方法 210
11.1.7 表单验证 211
11.2 Bootstrap 213
11.2.1 概述 213
11.2.2 数据列表 214
11.2.3 分页 215
11.2.4 表单 218
11.2.5 警告框的使用 219
11.3 Vue.js 221
11.3.1 概述 221
11.3.2 组件 222
11.3.3 指令 224
11.3.4 循环指令 225
11.3.5 表单验证 226
11.4 本章小结 227
第12章 数据库实战 228
12.1 概述 229
12.1.1 关于Spring Data 229
12.1.2 Spring Data的功能 229
12.1.3 Spring Data模块 230
12.2 Spring Data与JPA 230
12.2.1 构建项目 230
12.2.2 数据访问层与业务层 231
12.2.3 自定义数据存储逻辑 233
12.2.4 方法名查询 233
12.2.5 使用@Query注解 234
12.3 Spring Data与MongoDB 235
12.3.1 安装MongoDB 235
12.3.2 配置权限 236
12.3.3 MongoDB的相关概念 236
12.3.4 构建项目 236
12.3.5 数据访问层与业务层 237
12.3.6 自定义数据存储逻辑 238
12.3.7 方法名查询 239
12.3.8 使用@Query注解 240
12.4 Spring Data与Redis 241
12.4.1 Redis的安装与配置 241
12.4.2 Redis的数据类型 242
12.4.3 使用Jedis 242
12.4.4 构建Spring Data项目 243
12.4.5 数据访问层与业务层 244
12.4.6 自定义数据存储逻辑 246
12.4.7 方法名查询 247
12.5 本章小结 247
第13章 开发微服务 248
13.1 微服务与Spring Cloud 249
13.1.1 微服务简介 249
13.1.2 Netflix与Spring Cloud 249
13.1.3 Spring Cloud模块介绍 250
13.2 Eureka服务治理 250
13.2.1 Eureka架构 250
13.2.2 构建服务器 251
13.2.3 服务提供者 253
13.2.4 服务调用者 255
13.2.5 程序结构 257
13.3 Ribbon负载均衡 257
13.3.1 Ribbon介绍 258
13.3.2 第一个Ribbon程序 258
13.3.3 在Spring Cloud中测试使用 Ribbon 259
13.4 客户端Feign 260
13.4.1 Feign介绍 260
13.4.2 第一个Feign程序 260
13.4.3 使用Feign调用微服务 262
13.5 容错框架Hystrix 263
13.5.1 Hystrix介绍 263
13.5.2 第一个Hystrix程序 265
13.5.3 在Spring Cloud中整合Hystrix 266
13.6 本章小结 268
第14章 实战案例 269
14.1 系统功能及界面 270
14.1.1 登录与首页 270
14.1.2 图书管理模块 271
14.1.3 入库模块 272
14.1.4 销售模块 273
14.1.5 导航组件与分页组件 274
14.1.6 运行本章案例 275
14.2 数据库设计 275
14.2.1 用户表 275
14.2.2 图书表与库存表 275
14.2.3 入库单数据表 276
14.2.4 销售单数据表 276
14.3 搭建项目框架 277
14.3.1 项目依赖与项目结构 277
14.3.2 项目配置 278
14.3.3 实体设计 279
14.3.4 用户登录 281
14.3.5 片断定义 282
14.4 图书管理 283
14.4.1 数据列表 283
14.4.2 通用的分页组件 285
14.4.3 图片上传 286
14.4.4 新建图书 288
14.4.5 查看与修改图书 289
14.4.6 删除图书 290
14.5 销售单模块 291
14.5.1 列表与分页功能 291
14.5.2 选择图书 293
14.5.3 删除已选图书与修改数量 295
14.5.4 新建销售单 297
14.5.5 操作库存 299
14.6 首页数据查询与排序 300
14.6.1 库存查询 300
14.6.2 图书查询与轮播 301
14.6.3 数据排序 303
14.7 本章小结 304
· · · · · · (
收起)