Spring Boot 2+Thymeleaf企业应用实战
作者: 杨恩雄
出版时间:2018年版
内容简介
Java经过多年的发展,市面上的开发框架多不胜数,技术发展日新月异。从*开始的JSP、Servlet等技术,到后面的Struts、Spring、Hibernate,再到Spring MVC、myBatis等技术,每一次技术的更替都牵动着广大Java程序员的心。在本书的前面部分,会讲解目前市面上*为流行的Spring Boot框架,使用该框架我们可以轻松构建出各种项目,在此基础上,介绍Spring MVC的使用,学习完这些知识后,读者可以掌握Spring Boot、Spring MVC的核心内容。本书的第二部分,会深入讲解Thymeleaf框架,这是一个较为新颖的模板引擎,使用Thymeleaf,我们可以完全抛弃JSP,并进入一种更为简便的页面开发模式。本书的第11章,会讲解目前市面上常用的几个JavaScript框架,像jQuery、Bootstrap以及Vue.js,学习完这些知识后,读者可以使用这些框架开发大部分的页面功能。本书的第12章,绍如何使用Spring Data框架操作各个主流数据库,使用像MySQL、Redis、MongoDB。本书的第13章,介绍使用Spring Cloud里面的主要框架,学完本章知识后,读者可以开发*基本的微服务项目。本书的*后一章,本书以一个案例为基础结束本书内容。本书定位为一本Java Web开发的入门级书籍,从表现层到持久层,力求为大家提供一整套Java Web开发的技术教程。
目录
第1章 概述\\t1
1.1 Java EE开发技术\\t2
1.1.1 Java EE的三层架构\\t2
1.1.2 MVC框架\\t2
1.1.3 数据访问层框架\\t3
1.1.4 视图技术\\t3
1.2 JDK的下载与安装\\t3
1.3 安装与配置Maven\\t4
1.3.1 关于Maven\\t4
1.3.2 下载与安装Maven\\t4
1.3.3 配置远程仓库\\t5
1.4 安装Eclipse\\t5
1.4.1 Eclipse版本\\t5
1.4.2 在Eclipse中配置Maven\\t5
1.4.3 获取本书代码\\t6
1.5 本章小结\\t6
第2章 初试Spring Boot\\t7
2.1 Spring Boot介绍\\t8
2.1.1 Spring Boot简介\\t8
2.1.2 starter模块\\t8
2.2 构建第一个Spring Boot程序\\t9
2.2.1 新建Maven项目\\t9
2.2.2 编写启动类\\t10
2.2.3 编写控制器\\t11
2.2.4 开发环境的热部署\\t12
2.3 运行单元测试\\t12
2.3.1 测试Web服务\\t12
2.3.2 模拟Web测试\\t13
2.3.3 测试业务组件\\t13
2.3.4 模拟业务组件\\t14
2.4 发布与调用REST服务\\t15
2.4.1 REST\\t15
2.4.2 发布REST服务\\t15
2.4.3 使用RestTemplate调用服务\\t16
2.4.4 使用Feign调用服务\\t18
2.5 本章小结\\t19
第3章 Spring Boot配置\\t20
3.1 配置文件\\t21
3.1.1 默认配置文件\\t21
3.1.2 指定配置文件\\t22
3.1.3 yml文件\\t22
3.1.4 使用profile指定配置\\t23
3.2 Web配置\\t24
3.2.1 Servlet配置\\t24
3.2.2 Listener配置\\t25
3.2.3 Filter配置\\t26
3.2.4 构建可部署的war包\\t26
3.2.5 JSP配置\\t28
3.3 其他配置\\t30
3.3.1 服务器常用配置\\t30
3.3.2 响应压缩\\t30
3.3.3 SSL配置\\t32
3.3.4 使用其他服务器\\t32
3.3.5 服务器访问日志\\t33
3.3.6 banner配置\\t34
3.4 自定义配置\\t35
3.4.[email protected]\\t35
3.4.2 定义属性映射对象\\t36
3.4.3 使用配置\\t37
3.4.4 属性自动识别\\t38
3.5 本章小结\\t39
第4章 Spring Boot的注解\\t40
4.1 Spring的常用注解\\t41
4.1.1 bean定义\\t41
4.1.2 依赖注入\\t42
4.1.3 使用Primary注解\\t44
4.1.4 Scope注解\\t45
4.1.5 方法注入\\t46
4.1.6 AOP注解\\t47
4.1.7 ComponentScan注解\\t49
4.2 高级Spring注解\\t50
4.2.1 限定注解\\t50
4.2.2 自定义限定注解\\t51
4.2.3 自定义bean的生命周期\\t52
4.3 Spring MVC的常用注解\\t54
4.3.1 Controller注解\\t54
4.3.2 RequestMapping注解\\t55
4.3.3 PathVariable注解\\t56
4.3.4 MatrixVariable注解\\t56
4.3.5 RequestParam注解\\t57
4.3.6 文件上传\\t58
4.3.7 RestController注解\\t58
4.4 Spring Boot的条件注解\\t59
4.4.1 类条件注解\\t59
4.4.2 项目依赖问题\\t60
4.4.3 其他条件注解\\t61
4.4.4 自定义条件注解\\t61
4.4.5 Spring Boot的自动配置\\t62
4.5 本章小结\\t63
第5章 初试Thymeleaf\\t64
5.1 Thymeleaf\\t65
5.1.1 什么是Thymeleaf\\t65
5.1.2 支持的模板类型\\t65
5.1.3 HTML模板\\t65
5.1.4 XML模板\\t66
5.2 初试Thymeleaf API\\t66
5.2.1 处理HTML\\t66
5.2.2 更换模板解析器\\t67
5.2.3 处理资源文件\\t67
5.2.4 变量处理\\t68
5.2.5 遍历集合\\t69
5.2.6 设置前缀与后缀\\t69
5.3 在Servlet应用中整合Thymeleaf\\t70
5.3.1 建立项目\\t70
5.3.2 配置模板引擎\\t71
5.3.3 在Servlet中使用Thymeleaf\\t72
5.3.4 编写模板文件\\t73
5.4 在Struts2中整合Thymeleaf\\t74
5.4.1 建立与配置Struts2项目\\t74
5.4.2 配置Struts Action\\t75
5.4.3 整合Themeleaf\\t76
5.5 在Spring Boot中整合Thymeleaf\\t77
5.5.1 建立与配置项目\\t77
5.5.2 编写控制器与模板\\t78
5.5.3 静态资源\\t79
5.6 本章小结\\t79
第6章 Thymeleaf对象的使用\\t80
6.1 文本处理\\t81
6.1.1 外部文本输出\\t81
6.1.2 文本国际化\\t82
6.1.3 处理转义文本\\t83
6.1.4 读取变量\\t83
6.1.5 在文本信息中使用变量\\t84
6.1.6 其他读取变量的方式\\t84
6.1.7 链接表达式\\t85
6.2 基本对象\\t86
6.2.1 基本对象概述\\t86
6.2.2 #ctx对象\\t87
6.2.3 Web对象\\t87
6.2.4 内置变量\\t88
6.2.5 使用基本对象的注意事项\\t88
6.3 数字对象\\t89
6.3.1 整数格式化\\t89
6.3.2 小数格式化\\t90
6.3.3 货币格式化\\t91
6.3.4 百分比格式化\\t92
6.3.5 使用sequence方法\\t92
6.4 字符串对象\\t92
6.4.1 toString与length方法\\t93
6.4.2 非空判断与默认值处理\\t93
6.4.3 包含判断\\t94
6.4.4 截取与替换\\t94
6.4.5 追加与拼接\\t95
6.4.6 分割与连接\\t96
6.4.7 大小写转换\\t96
6.4.8 字符串编码与解码\\t97
6.4.9 其他处理\\t98
6.5 日期对象\\t98
6.5.1 格式化日期\\t98
6.5.2 获取日期字段\\t99
6.5.3 创建日期\\t100
6.6 数组与集合对象\\t101
6.6.1 数组\\t101
6.6.2 List与Set\\t101
6.6.3 Map\\t101
6.7 其他内置对象\\t102
6.7.1 messages对象\\t102
6.7.2 uris对象\\t102
6.7.3 aggregates对象\\t103
6.8 本章小结\\t103
第7章 Thymeleaf常用语法\\t104
7.1 表达式语法之运算符\\t105
7.1.1 表达式常量\\t105
7.1.2 字符串拼接\\t106
7.1.3 算术运算符\\t106
7.1.4 关系运算符\\t107
7.1.5 条件运算符\\t108
7.1.6 无操作符\\t108
7.2 表达式语法进阶\\t108
7.2.1 数据转换\\t108
7.2.2 自定义数据转换类\\t109
7.2.3 Spring Boot数据转换\\t110
7.2.4 表达式预处理\\t112
7.2.5 表达式调用工具方法\\t113
7.3 属性设置\\t114
7.3.1 使用th:attr\\t114
7.3.2 设置HTML节点属性\\t114
7.3.3 属性值拼接\\t115
7.3.4 HTML5属性支持\\t115
7.4 条件判断与数据迭代\\t116
7.4.1 条件判断\\t116
7.4.2 switch case语法\\t117
7.4.3 使用th:each属性\\t117
7.4.4 常见迭代类型\\t118
7.4.5 迭代状态对象\\t118
7.4.6 数据延迟加载\\t120
7.4.7 在Spring Boot中使用延迟加载\\t121
7.4.8 星号表达式\\t121
7.5 本章小结\\t122
第8章 深入Thymeleaf模板\\t123
8.1 模板片断\\t124
8.1.1 定义与引用模板片断\\t124
8.1.2 片断引用语法\\t125
8.1.3 选择器的基础语法\\t126
8.1.4 选择器的其他语法\\t128
8.1.5 insert、replace与include的区别\\t128
8.1.6 含有变量的片断引用\\t129
8.1.7 片断块引用\\t130
8.1.8 无操作符的使用\\t131
8.1.9 删除模板\\t132
8.1.10 基本表达式总结\\t134
8.2 模板与逻辑分离\\t134
8.2.1 逻辑分离例子\\t134
8.2.2 逻辑分离配置\\t136
8.2.3 关联节点的选择\\t137
8.3 模板注释\\t137
8.3.1 解析层注释\\t138
8.3.2 原型注释\\t139
8.4 内联语法\\t139
8.4.1 使用内联语法显示文本\\t139
8.4.2 在JavaScript中使用内联语法\\t140
8.4.3 在CSS中使用内联语法\\t140
8.4.4 内联语法注释\\t141
8.4.5 内联语法序列化\\t142
8.5 模板缓存\\t143
8.5.1 开启与配置缓存\\t143
8.5.2 缓存有效时间\\t145
8.6 本章小结\\t146
第9章 Thymeleaf原理与扩展\\t147
9.1 概念与接口介绍\\t148
9.1.1 方言\\t148
9.1.2 处理器\\t149
9.1.3 模板处理者\\t150
9.1.4 模板解析事件\\t150
9.1.5 节点与标签\\t151
9.2 深入Thymeleaf模板处理\\t151
9.2.1 策略模式\\t151
9.2.2 责任链模式\\t153
9.2.3 合并使用策略模式与责任链模式\\t156
9.2.4 模板处理过程\\t159
9.2.5 模板事件\\t161
9.3 处理器\\t161
9.3.1 预处理器\\t161
9.3.2 后处理器\\t163
9.3.3 一般处理器\\t164
9.3.4 处理器优先级\\t165
9.3.5 标签处理器\\t167
9.3.6 模型处理器\\t168
9.3.7 边界处理器\\t170
9.3.8 其他处理器\\t170
9.4 Thymeleaf扩展\\t171
9.4.1 自定义标签\\t171
9.4.2 自定义模板属性\\t173
9.4.3 自定义内置对象\\t175
9.4.4 自定义执行属性\\t176
9.5 本章小结\\t177
第10章 Spring Boot与Thymeleaf整合\\t178
10.1 在Spring Boot中配置Thymeleaf\\t179
10.1.1 模板引擎配置\\t179
10.1.2 Spring MVC视图解析器\\t181
10.1.3 Thymeleaf视图解析器\\t184
10.1.4 数据转换配置\\t186
10.1.5 模板国际化\\t186
10.2 表单处理\\t188
10.2.1 表单提交\\t188
10.2.2 使用th:field属性\\t189
10.2.3 HTML节点的id生成\\t190
10.2.4 实现label节点\\t192
10.2.5 在模板中处理checkbox与radio\\t193
10.2.6 表单提交处理checkbox与radio\\t195
10.3 表单验证\\t195
10.3.1 表单验证\\t195
10.3.2 修改信息文件\\t197
10.3.3 输出错误信息\\t197
10.4 片断的使用\\t198
10.4.1 引用片断\\t198
10.4.2 使用bean选择片断\\t199
10.4.3 在控制器中引用片断\\t201
10.5 自定义标签\\t201
10.5.1 方言与处理器\\t201
10.5.2 配置方言\\t203
10.6 本章小结\\t204
第11章 使用JavaScript库\\t205
11.1 使用jQuery\\t206
11.1.1 概述\\t206
11.1.2 选择器\\t206
11.1.3 事件\\t207
11.1.4 数据列表\\t208
11.1.5 AJAX调用GET方法\\t209
11.1.6 AJAX调用POST方法\\t210
11.1.7 表单验证\\t211
11.2 Bootstrap\\t213
11.2.1 概述\\t213
11.2.2 数据列表\\t214
11.2.3 分页\\t215
11.2.4 表单\\t218
11.2.5 警告框的使用\\t219
11.3 Vue.js\\t221
11.3.1 概述\\t221
11.3.2 组件\\t222
11.3.3 指令\\t224
11.3.4 循环指令\\t225
11.3.5 表单验证\\t226
11.4 本章小结\\t227
第12章 数据库实战\\t228
12.1 概述\\t229
12.1.1 关于Spring Data\\t229
12.1.2 Spring Data的功能\\t229
12.1.3 Spring Data模块\\t230
12.2 Spring Data与JPA\\t230
12.2.1 构建项目\\t230
12.2.2 数据访问层与业务层\\t231
12.2.3 自定义数据存储逻辑\\t233
12.2.4 方法名查询\\t233
12.2.[email protected]\\t234
12.3 Spring Data与MongoDB\\t235
12.3.1 安装MongoDB\\t235
12.3.2 配置权限\\t236
12.3.3 MongoDB的相关概念\\t236
12.3.4 构建项目\\t236
12.3.5 数据访问层与业务层\\t237
12.3.6 自定义数据存储逻辑\\t238
12.3.7 方法名查询\\t239
12.3.[email protected]\\t240
12.4 Spring Data与Redis\\t241
12.4.1 Redis的安装与配置\\t241
12.4.2 Redis的数据类型\\t242
12.4.3 使用Jedis\\t242
12.4.4 构建Spring Data项目\\t243
12.4.5 数据访问层与业务层\\t244
12.4.6 自定义数据存储逻辑\\t246
12.4.7 方法名查询\\t247
12.5 本章小结\\t247
第13章 开发微服务\\t248
13.1 微服务与Spring Cloud\\t249
13.1.1 微服务简介\\t249
13.1.2 Netflix与Spring Cloud\\t249
13.1.3 Spring Cloud模块介绍\\t250
13.2 Eureka服务治理\\t250
13.2.1 Eureka架构\\t250
13.2.2 构建服务器\\t251
13.2.3 服务提供者\\t253
13.2.4 服务调用者\\t255
13.2.5 程序结构\\t257
13.3 Ribbon负载均衡\\t257
13.3.1 Ribbon介绍\\t258
13.3.2 第一个Ribbon程序\\t258
13.3.3 在Spring Cloud中测试使用 Ribbon\\t259
13.4 客户端Feign\\t260
13.4.1 Feign介绍\\t260
13.4.2 第一个Feign程序\\t260
13.4.3 使用Feign调用微服务\\t262
13.5 容错框架Hystrix\\t263
13.5.1 Hystrix介绍\\t263
13.5.2 第一个Hystrix程序\\t265
13.5.3 在Spring Cloud中整合Hystrix\\t266
13.6 本章小结\\t268
第14章 实战案例\\t269
14.1 系统功能及界面\\t270
14.1.1 登录与首页\\t270
14.1.2 图书管理模块\\t271
14.1.3 入库模块\\t272
14.1.4 销售模块\\t273
14.1.5 导航组件与分页组件\\t274
14.1.6 运行本章案例\\t275
14.2 数据库设计\\t275
14.2.1 用户表\\t275
14.2.2 图书表与库存表\\t275
14.2.3 入库单数据表\\t276
14.2.4 销售单数据表\\t276
14.3 搭建项目框架\\t277
14.3.1 项目依赖与项目结构\\t277
14.3.2 项目配置\\t278
14.3.3 实体设计\\t279
14.3.4 用户登录\\t281
14.3.5 片断定义\\t282
14.4 图书管理\\t283
14.4.1 数据列表\\t283
14.4.2 通用的分页组件\\t285
14.4.3 图片上传\\t286
14.4.4 新建图书\\t288
14.4.5 查看与修改图书\\t289
14.4.6 删除图书\\t290
14.5 销售单模块\\t291
14.5.1 列表与分页功能\\t291
14.5.2 选择图书\\t293
14.5.3 删除已选图书与修改数量\\t295
14.5.4 新建销售单\\t297
14.5.5 操作库存\\t299
14.6 首页数据查询与排序\\t300
14.6.1 库存查询\\t300
14.6.2 图书查询与轮播\\t301
14.6.3 数据排序\\t303
14.7 本章小结\\t304